tinygrad Tests

Output from tinygrad test scripts.

test_assign.py

....
----------------------------------------------------------------------
Ran 4 tests in 0.247s

OK

test_conv.py

.............s
----------------------------------------------------------------------
Ran 14 tests in 0.616s

OK (skipped=1)
(1, 16, 64, 128)
[[[[  0.   2.   4.   6.]
   [  8.  10.  12.  14.]]

  [[ 16.  18.  20.  22.]
   [ 24.  26.  28.  30.]]

  [[ 32.  34.  36.  38.]
   [ 40.  42.  44.  46.]]

  [[ 48.  50.  52.  54.]
   [ 56.  58.  60.  62.]]

  [[ 64.  66.  68.  70.]
   [ 72.  74.  76.  78.]]

  [[ 80.  82.  84.  86.]
   [ 88.  90.  92.  94.]]

  [[ 96.  98. 100. 102.]
   [104. 106. 108. 110.]]

  [[112. 114. 116. 118.]
   [120. 122. 124. 126.]]]]
(1, 12, 128, 256)
[[[[ 0.93149185  0.2806782   0.8056647   0.41214436  0.15504545]
   [ 0.62593424  0.31054336  0.5603988   0.23496133  0.7643574 ]
   [ 0.33112532  0.92565084  0.06013149  0.35230464  0.8359076 ]
   [ 0.03753501  0.11257637  0.8517584   0.31205297  0.2338121 ]
   [ 0.5579621   0.30820632  0.7866557   0.86819595  0.5399461 ]]

  [[ 2.118766    2.820211    2.9798832   2.840959    2.9189024 ]
   [ 2.9207013   2.2554026   2.9757376   2.7623498   2.9114668 ]
   [ 2.702383    2.1741352   2.454306    2.237937    2.2713687 ]
   [ 2.9474719   2.55361     2.5134242   2.8316839   2.898455  ]
   [ 2.9178374   2.6610773   2.3675396   2.2355099   2.849178  ]]

  [[ 4.667576    4.1636677   4.1796637   4.2359447   4.648137  ]
   [ 4.2159333   4.4855537   4.6304245   4.666215    4.5467167 ]
   [ 4.0116334   4.6793327   4.0639677   4.9461346   4.1767063 ]
   [ 4.1363883   4.2080407   4.9258995   4.4663424   4.65409   ]
   [ 4.0414352   4.7688603   4.0794125   4.7419724   4.702286  ]]

  [[ 6.6014137   6.8497806   6.5368705   6.1036687   6.875553  ]
   [ 6.725318    6.1032476   6.77197     6.7689934   6.8288307 ]
   [ 6.8870053   6.823203    6.591322    6.9067283   6.0349364 ]
   [ 6.3511214   6.9073553   6.370795    6.1766405   6.6361146 ]
   [ 6.203563    6.215101    6.3605976   6.1132      6.545439  ]]

  [[ 8.008588    8.197271    8.035969    8.758807    8.864654  ]
   [ 8.15585     8.980614    8.728106    8.08209     8.551898  ]
   [ 8.510533    8.040758    8.200823    8.798664    8.371699  ]
   [ 8.275993    8.2857895   8.323525    8.21355     8.000079  ]
   [ 8.271421    8.952141    8.569697    8.767508    8.597761  ]]

  [[10.100012   10.998785   10.802147   10.663872   10.724545  ]
   [10.257475   10.818329   10.174393   10.802899   10.843636  ]
   [10.500741   10.969423   10.043892   10.181596   10.658959  ]
   [10.735225   10.995212   10.76931    10.137385   10.948263  ]
   [10.290034   10.417219   10.158831   10.666708   10.760326  ]]

  [[12.860636   12.685801   12.822651   12.416732   12.358686  ]
   [12.074683   12.158253   12.184881   12.791336   12.933141  ]
   [12.210114   12.003366   12.003986   12.61767    12.052004  ]
   [12.512547   12.105045   12.474449   12.496885   12.412529  ]
   [12.256023   12.575817   12.5210085  12.726767   12.204369  ]]

  [[14.612148   14.328089   14.722721   14.709069   14.475655  ]
   [14.102378   14.145342   14.766401   14.537128   14.516569  ]
   [14.042732   14.191367   14.124958   14.788248   14.82028   ]
   [14.172691   14.88889    14.993577   14.581903   14.392723  ]
   [14.217729   14.764521   14.192541   14.960721   14.391001  ]]]]

test_conv_shapetracker.py

.
----------------------------------------------------------------------
Ran 1 test in 0.148s

OK
ScheduleItem(ast=LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 8, 8, 16, 3, 3), strides=(0, 0, 0, 10, 1, 100, 10, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 8, 8, 16, 3, 3), strides=(0, 0, 144, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 32, 8, 8, 1, 1, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 8, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 8, 8, 1, 1, 1), strides=(0, 0, 64, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))), out=<LB HIP (1, 32, 8, 8) contig:True (<BinaryOps.ADD: 1>, None)>, inputs=(<LB HIP (1, 16, 10, 10) contig:True (<LoadOps.EMPTY: 1>, None)>, <LB HIP (32, 16, 3, 3) contig:True (<BinaryOps.ADD: 1>, None)>, <LB HIP (32,) contig:True (<BinaryOps.ADD: 1>, None)>), var_vals={})
ShapeTracker(views=(View(shape=(1, 32, 8, 8), strides=(0, 64, 8, 1), offset=0, mask=None, contiguous=True),))
ShapeTracker(views=(View(shape=(1, 16, 10, 10), strides=(0, 100, 10, 1), offset=0, mask=None, contiguous=True),))
ShapeTracker(views=(View(shape=(32, 16, 3, 3), strides=(144, 9, 3, 1), offset=0, mask=None, contiguous=True),))
ShapeTracker(views=(View(shape=(32,), strides=(1,), offset=0, mask=None, contiguous=True),))

test_copy_speed.py

s....
----------------------------------------------------------------------
Ran 5 tests in 8.933s

OK (skipped=1)
buffer: 1.07 GB
queue: 397.35 ms
sync:  439.41 ms @ 2.44 GB/s
queue: 181.69 ms
sync:  223.78 ms @ 4.80 GB/s
queue: 181.46 ms
sync:  223.29 ms @ 4.81 GB/s
fresh copy
queue: 181.36 ms
sync:  223.19 ms @ 4.81 GB/s
queue: 180.45 ms
sync:  222.57 ms @ 4.82 GB/s
queue: 179.46 ms
sync:  221.52 ms @ 4.85 GB/s
buffer: 1.07 GB
sync:  505.38 ms @ 2.12 GB/s
sync:  500.41 ms @ 2.15 GB/s
sync:  536.86 ms @ 2.00 GB/s
queue: 187.57 ms
sync:  229.64 ms @ 4.68 GB/s
queue: 184.20 ms
sync:  226.16 ms @ 4.75 GB/s
queue: 184.30 ms
sync:  226.17 ms @ 4.75 GB/s

test_custom_function.py

sss
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK (skipped=3)

test_device_speed.py

....
----------------------------------------------------------------------
Ran 4 tests in 0.368s

OK
compiler  22.39 ms
compiler  18.14 ms
launch 1000x   4.15 ms
launch 1000x with wait  41.12 ms
n:    1000  tm:   4.28ms  tot:   4.78ms ops_hip.py:46:__call__                             

test_dtype_alu.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/test_dtype_alu.py", line 10, in <module>
    from test.test_dtype import is_dtype_supported
ModuleNotFoundError: No module named 'test.test_dtype'

test_dtype.py

..........ssss...s........s...........................................................................................................................
----------------------------------------------------------------------
Ran 149 tests in 6.435s

OK (skipped=6)

test_fusion_op.py

test_contiguous_add (__main__.TestFusionOp) ... ok
test_expand_fuse (__main__.TestFusionOp) ... ok
test_recursive_add (__main__.TestFusionOp) ... ok
test_recursive_add_cmp (__main__.TestFusionOp) ... ok

----------------------------------------------------------------------
Ran 4 tests in 0.481s

OK

test_gc.py

..
----------------------------------------------------------------------
Ran 2 tests in 0.206s

OK
3
4

test_image_dtype.py

sssssssss.
----------------------------------------------------------------------
Ran 10 tests in 0.000s

OK (skipped=9)
<((((((gidx0[0-511]*4)%32)*8)%64)+(((gidx0[0-511]//8)%32)//4))%64)> <((gidx0[0-511]//2)%4)> 0 63 0 3 <(gidx0[0-511]<256)>

test_jit.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/test_jit.py", line 5, in <module>
    from test.helpers import assert_jit_cache_len
ModuleNotFoundError: No module named 'test.helpers'

test_kernel_cache.py

s
----------------------------------------------------------------------
Ran 1 test in 0.146s

OK (skipped=1)

test_lazybuffer.py

........
----------------------------------------------------------------------
Ran 8 tests in 0.415s

OK
(1,) (-8,) True
(1,) (-8,) True
(4,) (4,) True
(3,) (4,) True
(2,) (8,) False
(2,) (8,) False
(1, 1) (-32, -8) True
(1, 1) (-32, -8) True
(4, 4) (16, 4) True
(3, 3) (16, 4) False
(2, 2) (32, 8) False
(2, 2) (32, 8) False
(1, 1, 1) (-128, -32, -8) True
(1, 1, 1) (-128, -32, -8) True
(4, 4, 4) (64, 16, 4) True
(3, 3, 3) (64, 16, 4) False
(2, 2, 2) (128, 32, 8) False
(2, 2, 2) (128, 32, 8) False

test_lazyop.py

..
----------------------------------------------------------------------
Ran 2 tests in 0.156s

OK

test_linearizer_failures.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/test_linearizer_failures.py", line 8, in <module>
    from test.external.fuzz_linearizer import run_linearizer, get_fuzz_rawbufs, get_fuzz_rawbuf_like
ModuleNotFoundError: No module named 'test.external'

test_linearizer.py

................s........................
----------------------------------------------------------------------
Ran 41 tests in 15.010s

OK (skipped=1)

test_masked_st.py

...
----------------------------------------------------------------------
Ran 3 tests in 0.469s

OK

test_method_cache.py

....
----------------------------------------------------------------------
Ran 4 tests in 2.570s

OK

test_multitensor.py

....
https://download.pytorch.org/models/resnet18-5c106cde.pth:   0%|          | 0.00/46.8M [00:00<?, ?B/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   0%|          | 32.8k/46.8M [00:00<03:16, 238kB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   0%|          | 98.3k/46.8M [00:00<02:08, 362kB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   0%|          | 197k/46.8M [00:00<01:22, 568kB/s] 
https://download.pytorch.org/models/resnet18-5c106cde.pth:   1%|          | 328k/46.8M [00:00<00:58, 796kB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   1%|          | 524k/46.8M [00:00<00:39, 1.17MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   2%|▏         | 852k/46.8M [00:00<00:25, 1.80MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   3%|▎         | 1.36M/46.8M [00:00<00:16, 2.81MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   4%|▍         | 2.10M/46.8M [00:00<00:10, 4.19MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:   7%|▋         | 3.06M/46.8M [00:01<00:07, 5.83MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  10%|▉         | 4.51M/46.8M [00:01<00:05, 8.42MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  15%|█▍        | 6.86M/46.8M [00:01<00:03, 13.0MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  18%|█▊        | 8.36M/46.8M [00:01<00:02, 13.5MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  22%|██▏       | 10.4M/46.8M [00:01<00:02, 15.5MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  26%|██▌       | 12.2M/46.8M [00:01<00:03, 9.01MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  32%|███▏      | 15.1M/46.8M [00:01<00:02, 11.4MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  35%|███▌      | 16.5M/46.8M [00:02<00:03, 8.59MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  39%|███▉      | 18.5M/46.8M [00:02<00:02, 9.81MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  43%|████▎     | 20.1M/46.8M [00:02<00:02, 11.0MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  46%|████▌     | 21.4M/46.8M [00:02<00:02, 11.2MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  50%|████▉     | 23.4M/46.8M [00:02<00:01, 13.1MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  54%|█████▎    | 25.1M/46.8M [00:02<00:01, 14.1MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  58%|█████▊    | 27.1M/46.8M [00:03<00:01, 10.6MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  65%|██████▍   | 30.2M/46.8M [00:03<00:01, 13.4MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  68%|██████▊   | 31.8M/46.8M [00:03<00:01, 10.8MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  71%|███████▏  | 33.4M/46.8M [00:03<00:01, 11.0MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  75%|███████▌  | 35.2M/46.8M [00:03<00:01, 11.3MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  79%|███████▉  | 37.0M/46.8M [00:03<00:00, 12.6MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  84%|████████▎ | 39.2M/46.8M [00:03<00:00, 14.7MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  88%|████████▊ | 41.0M/46.8M [00:04<00:00, 15.6MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  92%|█████████▏| 43.1M/46.8M [00:04<00:00, 16.8MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth:  96%|█████████▌| 44.9M/46.8M [00:04<00:00, 12.2MB/s]
https://download.pytorch.org/models/resnet18-5c106cde.pth: 100%|██████████| 46.8M/46.8M [00:04<00:00, 10.6MB/s]
.................s........................
----------------------------------------------------------------------
Ran 46 tests in 45.744s

OK (skipped=1)
i=0
i=1
i=2
i=3

test_net_speed.py

torch forward pass:  21.182 ms
torch backward pass: 58.428 ms
n:       4  tm: 166.20ms  tot: 166.79ms hip_comgr.py:17:compile_hip                        <- 100% ops_hip.py:19:compile
n:       4  tm:  30.54ms  tot:  30.54ms ~:0:<method 'commit' of 'sqlite3.Connection' objects> <- 100% helpers.py:151:diskcache_put
n:    2235  tm:   6.98ms  tot:  14.25ms linearizer.py:446:uop                              <-  65% linearizer.py:39:uop_alu_idx
n:   31058  tm:   6.68ms  tot:  12.00ms ~:0:<built-in method builtins.hash>                <-  73% <string>:2:__hash__
n:    6349  tm:   4.67ms  tot:  26.61ms symbolic.py:14:render                              <-  36% symbolic.py:324:<listcomp>
n:       5  tm:   4.59ms  tot:   4.60ms ops_hip.py:91:<lambda>                             <- 100% helpers.py:209:init_c_var
n:   19971  tm:   4.17ms  tot:   4.17ms uops.py:60:<genexpr>                               <- 100% ~:0:<built-in method builtins.any>
n:       4  tm:   3.97ms  tot:   3.98ms ops_hip.py:40:<lambda>                             <- 100% helpers.py:209:init_c_var
n:    2060  tm:   3.86ms  tot:  11.91ms ~:0:<built-in method builtins.any>                 <-  96% uops.py:50:fix_loop_scope
n:     825  tm:   3.80ms  tot:  13.97ms lazy.py:156:_recursive_lazyop                      <-  83% lazy.py:189:<genexpr>
n:       5  tm:   3.76ms  tot:   3.76ms ~:0:<method 'random' of 'numpy.random._generator.Generator' objects> <- 100% tensor.py:978:custom_random
n:    1229  tm:   3.30ms  tot:   5.76ms linearizer.py:404:get_recursive_parents            <-  76% linearizer.py:406:<listcomp>
n:     840  tm:   2.68ms  tot:   4.42ms lazy.py:211:_recurse_lb                            <-  95% lazy.py:211:_recurse_lb
n:     980  tm:   2.50ms  tot:   5.23ms lazy.py:28:__init__                                <- 100% lazy.py:18:create_lazybuffer
n:    6133  tm:   2.50ms  tot:   7.57ms ~:0:<method 'get' of 'dict' objects>               <-  61% linearizer.py:446:uop
n:     933  tm:   2.50ms  tot:   4.72ms ops.py:55:cached_compare                           <-  81% ops.py:59:<genexpr>
n:   23852  tm:   2.45ms  tot:   2.45ms uops.py:64:<genexpr>                               <-  98% ~:0:<built-in method builtins.any>
n:    9257  tm:   2.38ms  tot:   3.36ms enum.py:783:__hash__                               <-  42% ~:0:<method 'get' of 'dict' objects>
n:    1005  tm:   2.37ms  tot:  11.44ms lazy.py:18:create_lazybuffer                       <-  51% lazy.py:141:_view
n:   17870  tm:   2.28ms  tot:   2.29ms ~:0:<built-in method builtins.isinstance>          <-  33% enum.py:396:__contains__
n:    1317  tm:   2.22ms  tot:   7.22ms functools.py:961:__get__                           <-  75% ops.py:65:__hash__
n:       4  tm:   2.15ms  tot:   4.80ms cstyle.py:90:uops_to_cstyle                        <- 100% ops_hip.py:18:render
n:       8  tm:   2.06ms  tot:   2.06ms ~:0:<method 'execute' of 'sqlite3.Cursor' objects> <-  69% helpers.py:138:diskcache_get
n:       4  tm:   2.01ms  tot:  18.22ms uops.py:50:fix_loop_scope                          <- 100% linearizer.py:396:uoptimize
n:    2036  tm:   2.01ms  tot:   2.02ms ~:0:<method 'index' of 'list' objects>             <-  95% linearizer.py:446:uop
n:    1555  tm:   1.94ms  tot:   4.53ms symbolic.py:320:<lambda>                           <- 100% symbolic.py:14:render
n:    1400  tm:   1.85ms  tot:   1.85ms ~:0:<method 'union' of 'set' objects>              <-  98% linearizer.py:404:get_recursive_parents
n:     130  tm:   1.83ms  tot:   2.00ms ops_hip.py:46:__call__                             <- 100% device.py:298:__call__
n:      12  tm:   1.83ms  tot:  29.29ms linearizer.py:69:global_load                       <-  84% linearizer.py:315:<dictcomp>
n:     405  tm:   1.82ms  tot:   1.82ms ~:0:<built-in method builtins.sorted>              <-  88% linearizer.py:396:uoptimize
n:    1154  tm:   1.79ms  tot:  16.57ms linearizer.py:39:uop_alu_idx                       <-  57% linearizer.py:60:<lambda>
n:       4  tm:   1.70ms  tot:   3.52ms uops.py:25:get_recursive_children                  <- 100% linearizer.py:396:uoptimize
n:      20  tm:   1.70ms  tot: 308.39ms realize.py:42:run_schedule                         <- 100% tensor.py:115:realize
n:    1486  tm:   1.69ms  tot:   2.82ms shapetracker.py:171:simplify                       <-  74% shapetracker.py:98:__add__
n:   14887  tm:   1.56ms  tot:   1.56ms ~:0:<built-in method builtins.len>                 <-  17% linearizer.py:446:uop
n:     475  tm:   1.47ms  tot:  16.00ms tensor.py:30:apply                                 <-  31% tensor.py:303:reshape
n:    4632  tm:   1.42ms  tot:   5.94ms <string>:2:__hash__                                <-  30% lazy.py:156:_recursive_lazyop
n:     300  tm:   1.38ms  tot:  18.89ms lazy.py:193:_recursive_schedule                    <-  83% lazy.py:208:<genexpr>
n:    2695  tm:   1.37ms  tot:   2.96ms shapetracker.py:116:size                           <-  38% lazy.py:18:create_lazybuffer
n:     655  tm:   1.37ms  tot:   2.38ms helpers.py:33:merge_dicts                          <-  78% shapetracker.py:131:unbind
n:    7165  tm:   1.35ms  tot:   1.35ms lazy.py:52:base                                    <-  34% lazy.py:211:_recurse_lb
n:    2102  tm:   1.33ms  tot:   6.32ms ~:0:<built-in method builtins.all>                 <-  35% ops.py:55:cached_compare
n:     240  tm:   1.31ms  tot:   6.82ms lazy.py:105:e                                      <-  18% mlops.py:113:forward
n:    5590  tm:   1.13ms  tot:   1.41ms tensor.py:274:_deepwalk                            <-  94% tensor.py:274:_deepwalk
n:      20  tm:   1.10ms  tot:  26.34ms lazy.py:245:create_schedule                        <- 100% lazy.py:79:schedule
n:    2281  tm:   1.08ms  tot:   1.83ms enum.py:396:__contains__                           <-  24% lazy.py:245:create_schedule
n:       5  tm:   1.04ms  tot:  14.31ms tensor.py:282:backward                             
n:    2452  tm:   1.04ms  tot:   1.04ms uops.py:31:<listcomp>                              <- 100% uops.py:25:get_recursive_children
n:     580  tm:   1.01ms  tot:   7.73ms lazy.py:141:_view                                  <-  56% lazy.py:146:reshape
n:     520  tm:   0.91ms  tot:   3.80ms shapetracker.py:131:unbind                         <-  77% lazy.py:156:_recursive_lazyop
n:     130  tm:   0.81ms  tot:   4.16ms device.py:298:__call__                             <- 100% device.py:44:exec
n:      85  tm:   0.76ms  tot:   5.13ms tensor.py:787:_broadcasted                         <-  51% tensor.py:820:mul
n:    1130  tm:   0.75ms  tot:  12.62ms lazy.py:189:<genexpr>                              <- 100% lazy.py:156:_recursive_lazyop
n:     358  tm:   0.75ms  tot:   7.10ms symbolic.py:324:<listcomp>                         <- 100% symbolic.py:324:<lambda>
n:     135  tm:   0.75ms  tot: 288.66ms realize.py:24:lower_schedule_item                  <- 100% realize.py:42:run_schedule
n:     330  tm:   0.71ms  tot:   1.62ms tensor.py:59:__init__                              <-  73% tensor.py:292:<listcomp>
n:    1555  tm:   0.71ms  tot:   0.85ms symbolic.py:307:sym_render                         <- 100% symbolic.py:320:<lambda>
n:     422  tm:   0.69ms  tot:   1.26ms shapetracker.py:184:reshape                        <-  73% lazy.py:146:reshape
n:     475  tm:   0.68ms  tot:   0.95ms tensor.py:21:__init__                              <- 100% tensor.py:30:apply
n:    1229  tm:   0.65ms  tot:   4.25ms linearizer.py:406:<listcomp>                       <- 100% linearizer.py:404:get_recursive_parents
n:    1758  tm:   0.60ms  tot:   0.60ms symbolic.py:318:<lambda>                           <- 100% symbolic.py:14:render
n:     950  tm:   0.59ms  tot:   0.62ms ~:0:<built-in method builtins.max>                 <-  86% tensor.py:449:<genexpr>
n:     473  tm:   0.59ms  tot:   3.34ms shapetracker.py:98:__add__                         <-  78% lazy.py:156:_recursive_lazyop
n:    1740  tm:   0.58ms  tot:   3.90ms ops.py:59:<genexpr>                                <- 100% ~:0:<built-in method builtins.all>
n:     650  tm:   0.58ms  tot:   0.85ms shapetracker.py:107:from_shape                     <-  35% lazy.py:105:e
n:    1091  tm:   0.56ms  tot:   5.87ms ops.py:65:__hash__                                 <-  79% ~:0:<built-in method builtins.hash>
n:     983  tm:   0.56ms  tot:   2.11ms ~:0:<method 'pop' of 'dict' objects>               <- 100% lazy.py:46:__del__
n:     135  tm:   0.56ms  tot:   1.21ms device.py:75:__init__                              <- 100% realize.py:42:run_schedule
n:     135  tm:   0.55ms  tot:  14.44ms device.py:44:exec                                  <- 100% realize.py:42:run_schedule
n:    2864  tm:   0.54ms  tot:   0.54ms shapetracker.py:113:shape                          <-  38% lazy.py:28:__init__
n:     863  tm:   0.52ms  tot:  14.93ms ~:0:<built-in method _functools.reduce>            <-  65% helpers.py:13:prod
n:     567  tm:   0.52ms  tot:  10.31ms linearizer.py:60:<lambda>                          <- 100% symbolic.py:14:render
n:     358  tm:   0.52ms  tot:   7.87ms symbolic.py:324:<lambda>                           <- 100% symbolic.py:14:render
n:     702  tm:   0.51ms  tot:   3.74ms linearizer.py:44:const                             <-  99% linearizer.py:59:<lambda>
n:       4  tm:   0.51ms  tot:   1.09ms uops.py:70:uops_type_verify                        <- 100% linearizer.py:396:uoptimize
n:       4  tm:   0.49ms  tot:  25.35ms linearizer.py:396:uoptimize                        <- 100% linearizer.py:163:linearize
n:    2452  tm:   0.48ms  tot:   0.48ms ~:0:<method 'intersection' of 'set' objects>       <- 100% uops.py:25:get_recursive_children
n:     866  tm:   0.48ms  tot:   0.56ms symbolic.py:145:__init__                           <-  67% linearizer.py:39:uop_alu_idx
n:      61  tm:   0.46ms  tot:   3.45ms shapetracker.py:85:_expr_view                      <- 100% shapetracker.py:154:expr_idxs
n:     983  tm:   0.46ms  tot:   2.57ms lazy.py:46:__del__                                 <-  56% realize.py:42:run_schedule
n:     160  tm:   0.45ms  tot:   4.59ms tensor.py:303:reshape                              <-  23% tensor.py:602:_pool
n:     957  tm:   0.45ms  tot:   5.37ms ops.py:63:hash                                     <- 100% functools.py:961:__get__
n:      63  tm:   0.44ms  tot:   2.31ms symbolic.py:91:sum                                 <-  97% shapetracker.py:85:_expr_view
n:       5  tm:   0.43ms  tot:   5.16ms ops_hip.py:119:copyin                              <- 100% device.py:95:copyin
n:    4337  tm:   0.43ms  tot:   0.43ms ~:0:<built-in method builtins.id>                  <-  87% ops.py:55:cached_compare
n:     190  tm:   0.42ms  tot:   2.62ms tensor.py:307:expand                               <-  86% tensor.py:787:_broadcasted
n:      20  tm:   0.42ms  tot:   5.98ms tensor.py:602:_pool                                <-  60% tensor.py:645:conv2d
n:      70  tm:   0.42ms  tot:   1.57ms tensor.py:312:shrink                               <-  86% tensor.py:447:slice
n:    2500  tm:   0.40ms  tot:   0.40ms tensor.py:103:shape                                <-  24% tensor.py:282:backward
n:     740  tm:   0.40ms  tot:   0.49ms shapetracker.py:110:contiguous                     <-  76% lazy.py:141:_view
n:      60  tm:   0.39ms  tot:   2.64ms tensor.py:447:slice                                <-  84% tensor.py:602:_pool
n:    3521  tm:   0.38ms  tot:   0.47ms ~:0:<method 'add' of 'set' objects>                <-  36% uops.py:25:get_recursive_children
n:      90  tm:   0.38ms  tot:   3.09ms lazy.py:126:r                                      <-  41% mlops.py:170:backward
n:    1370  tm:   0.37ms  tot:   0.63ms helpers.py:22:<genexpr>                            <- 100% ~:0:<built-in method builtins.all>
n:     520  tm:   0.37ms  tot:   0.73ms shapetracker.py:132:<listcomp>                     <- 100% shapetracker.py:131:unbind
n:     721  tm:   0.36ms  tot:   0.70ms helpers.py:13:prod                                 <-  60% lazy.py:211:_recurse_lb
n:     910  tm:   0.35ms  tot:   0.44ms symbolic.py:308:sym_infer                          <-  48% device.py:294:<listcomp>
n:    2914  tm:   0.34ms  tot:   0.34ms ~:0:<method 'append' of 'list' objects>            <-  19% uops.py:50:fix_loop_scope
n:     587  tm:   0.33ms  tot:  14.40ms linearizer.py:65:<lambda>                          <- 100% ~:0:<built-in method _functools.reduce>
n:     229  tm:   0.33ms  tot:  19.14ms helpers.py:28:<listcomp>                           <- 100% helpers.py:28:flatten
n:      10  tm:   0.32ms  tot:   1.50ms tensor.py:349:__getitem__                          <- 100% tensor.py:225:randn
n:     655  tm:   0.32ms  tot:   0.38ms helpers.py:34:<listcomp>                           <- 100% helpers.py:33:merge_dicts
n:     346  tm:   0.31ms  tot:   0.31ms dtype.py:15:__repr__                               <- 100% linearizer.py:69:global_load
n:     674  tm:   0.31ms  tot:   0.31ms <string>:2:__init__                                <- 100% linearizer.py:446:uop
n:     270  tm:   0.30ms  tot:   1.13ms tensor.py:292:<listcomp>                           <- 100% tensor.py:282:backward
n:     137  tm:   0.30ms  tot:   0.67ms kernel.py:157:first_reduce                         <-  28% kernel.py:473:hand_coded_optimizations
n:     600  tm:   0.29ms  tot:   0.29ms device.py:23:canonicalize                          <-  53% device.py:24:__getitem__
n:     655  tm:   0.28ms  tot:   0.33ms helpers.py:35:<dictcomp>                           <- 100% helpers.py:33:merge_dicts
n:     480  tm:   0.28ms  tot:   1.17ms helpers.py:22:all_same                             <- 100% lazy.py:105:e
n:     415  tm:   0.27ms  tot:  15.77ms lazy.py:208:<genexpr>                              <- 100% helpers.py:28:<listcomp>
n:      18  tm:   0.27ms  tot:   1.77ms linearizer.py:476:ast_parse                        <-  94% linearizer.py:163:linearize
n:     135  tm:   0.27ms  tot:   0.55ms device.py:85:__del__                               <-  53% realize.py:42:run_schedule
n:      40  tm:   0.27ms  tot:   2.98ms tensor.py:528:_reduce                              <-  74% tensor.py:535:sum
n:     694  tm:   0.26ms  tot:   3.96ms linearizer.py:59:<lambda>                          <- 100% symbolic.py:14:render
n:     130  tm:   0.26ms  tot:   0.36ms .
----------------------------------------------------------------------
Ran 1 test in 2.513s

OK
device.py:53:update_stats                          <- 100% device.py:298:__call__
n:     420  tm:   0.25ms  tot:   0.42ms symbolic.py:162:__init__                           <-  54% symbolic.py:43:__mul__
n:     980  tm:   0.25ms  tot:   0.25ms lazy.py:22:<genexpr>                               <- 100% lazy.py:18:create_lazybuffer
n:       4  tm:   0.24ms  tot:   3.60ms kernel.py:473:hand_coded_optimizations             <- 100% device.py:323:get_linearizer
forward pass:  11.336 ms, 0.54x off baseline 21.182 ms
backward pass: 63.670 ms, 1.09x off baseline 58.428 ms

test_nn.py

....s..........
----------------------------------------------------------------------
Ran 15 tests in 5.124s

OK (skipped=1)

test_ops.py

test_abs (__main__.TestOps) ... ok
test_acosh (__main__.TestOps) ... ok
test_add (__main__.TestOps) ... ok
test_add3 (__main__.TestOps) ... ok
test_arange (__main__.TestOps) ... ok
test_arange_big (__main__.TestOps) ... ok
test_argmax (__main__.TestOps) ... ok
test_argmin (__main__.TestOps) ... ok
test_asinh (__main__.TestOps) ... ok
test_asymmetric_padding_conv1d (__main__.TestOps) ... ok
test_asymmetric_padding_conv2d (__main__.TestOps) ... ok
test_atanh (__main__.TestOps) ... ok
test_avgpool2d (__main__.TestOps) ... ok
test_bias_conv_transpose2d (__main__.TestOps) ... ok
test_biased_conv2d (__main__.TestOps) ... ok
test_big_gemm (__main__.TestOps) ... ok
test_binary_crossentropy (__main__.TestOps) ... ok
test_broadcast_full (__main__.TestOps) ... ok
test_broadcast_partial (__main__.TestOps) ... 
testing                               [(45, 65)]   torch/tinygrad fp: 1.10 / 274.38 ms  bp: 2.97 / 72.02 ms 
testing                                     [()]   torch/tinygrad fp: 0.05 / 31.24 ms  bp: 0.82 / 35.69 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.09 / 41.45 ms  bp: 0.42 / 43.49 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 0.72 ms  bp: 0.30 / 0.96 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.56 ms  bp: 0.15 / 0.90 ms 
testing                     [(45, 68), (45, 68)]   torch/tinygrad fp: 0.01 / 31.67 ms  bp: 0.38 / 62.31 ms 
testing                     [(45, 68), (45, 68)]   torch/tinygrad fp: 0.03 / 0.56 ms  bp: 0.41 / 1.16 ms 
testing                                 [(), ()]   torch/tinygrad fp: 0.02 / 28.57 ms  bp: 0.35 / 31.53 ms 
testing           [(45, 65), (45, 65), (45, 65)]   torch/tinygrad fp: 0.05 / 35.83 ms  bp: 0.50 / 35.02 ms 
testing                                       []   torch/tinygrad fp: 1.00 / 9.23 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.03 / 29.04 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.05 / 31.99 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.06 / 30.63 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.05 / 44.94 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.04 / 124.22 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.54 / 83.47 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.04 / 135.08 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.03 / 2.52 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.07 / 82.27 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.05 / 83.28 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.04 / 91.50 ms  bp: nan / nan ms 
testing                               [(10, 20)]   torch/tinygrad fp: 0.04 / 2.54 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.18 / 35.88 ms  bp: 0.38 / 45.25 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 0.71 ms  bp: 0.30 / 0.95 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.55 ms  bp: 0.15 / 0.90 ms 
testing                   [(1, 1, 3), (1, 1, 2)]   torch/tinygrad fp: 3.76 / 32.43 ms  bp: 1.16 / 166.36 ms 
testing                   [(1, 1, 3), (1, 1, 2)]   torch/tinygrad fp: 0.69 / 1.24 ms  bp: 0.55 / 2.76 ms 
testing                   [(1, 1, 4), (1, 1, 2)]   torch/tinygrad fp: 0.08 / 34.08 ms  bp: 0.57 / 175.78 ms 
testing                   [(1, 1, 4), (1, 1, 2)]   torch/tinygrad fp: 0.73 / 1.93 ms  bp: 0.36 / 1.32 ms 
testing                   [(1, 1, 3), (1, 1, 2)]   torch/tinygrad fp: 0.07 / 37.77 ms  bp: 0.58 / 222.52 ms 
testing                   [(1, 1, 3), (1, 1, 2)]   torch/tinygrad fp: 0.61 / 1.13 ms  bp: 0.34 / 1.33 ms 
testing                   [(1, 1, 4), (1, 1, 2)]   torch/tinygrad fp: 0.07 / 34.23 ms  bp: 0.54 / 176.36 ms 
testing                   [(1, 1, 4), (1, 1, 2)]   torch/tinygrad fp: 0.72 / 1.08 ms  bp: 0.51 / 2.35 ms 
testing                   [(1, 1, 3), (1, 1, 2)]   torch/tinygrad fp: 0.12 / 35.00 ms  bp: 0.54 / 32.13 ms 
testing                   [(1, 1, 3), (1, 1, 2)]   torch/tinygrad fp: 0.26 / 1.04 ms  bp: 0.49 / 2.33 ms 
testing                   [(1, 1, 4), (1, 1, 2)]   torch/tinygrad fp: 0.12 / 36.29 ms  bp: 0.93 / 39.74 ms 
testing                   [(1, 1, 4), (1, 1, 2)]   torch/tinygrad fp: 0.29 / 1.17 ms  bp: 0.52 / 2.34 ms 
testing             [(1, 1, 3, 3), (1, 1, 2, 2)]   torch/tinygrad fp: 0.31 / 43.43 ms  bp: 0.53 / 188.32 ms 
testing             [(1, 1, 3, 3), (1, 1, 2, 2)]   torch/tinygrad fp: 0.62 / 1.11 ms  bp: 0.34 / 1.34 ms 
testing             [(1, 1, 4, 4), (1, 1, 2, 2)]   torch/tinygrad fp: 0.07 / 46.20 ms  bp: 0.69 / 214.38 ms 
testing             [(1, 1, 4, 4), (1, 1, 2, 2)]   torch/tinygrad fp: 0.71 / 1.13 ms  bp: 0.49 / 2.42 ms 
testing             [(1, 1, 3, 3), (1, 1, 2, 2)]   torch/tinygrad fp: 0.07 / 52.55 ms  bp: 0.69 / 238.50 ms 
testing             [(1, 1, 3, 3), (1, 1, 2, 2)]   torch/tinygrad fp: 0.80 / 1.94 ms  bp: 0.37 / 1.31 ms 
testing             [(1, 1, 4, 4), (1, 1, 2, 2)]   torch/tinygrad fp: 0.07 / 57.95 ms  bp: 0.73 / 273.45 ms 
testing             [(1, 1, 4, 4), (1, 1, 2, 2)]   torch/tinygrad fp: 0.74 / 1.98 ms  bp: 0.36 / 1.32 ms 
testing             [(1, 1, 3, 3), (1, 1, 2, 2)]   torch/tinygrad fp: 0.07 / 49.75 ms  bp: 0.70 / 231.92 ms 
testing             [(1, 1, 3, 3), (1, 1, 2, 2)]   torch/tinygrad fp: 0.60 / 1.58 ms  bp: 0.51 / 1.97 ms 
testing             [(1, 1, 4, 4), (1, 1, 2, 2)]   torch/tinygrad fp: 0.07 / 54.22 ms  bp: 0.70 / 247.08 ms 
testing             [(1, 1, 4, 4), (1, 1, 2, 2)]   torch/tinygrad fp: 0.87 / 1.14 ms  bp: 0.51 / 2.39 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 34.52 ms  bp: 0.87 / 44.86 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 1.40 ms  bp: 0.43 / 1.75 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 1.37 ms  bp: 0.16 / 2.04 ms 
testing                       [(32, 2, 111, 28)]   torch/tinygrad fp: 1.88 / 39.39 ms  bp: 1.04 / 68.19 ms 
testing                       [(32, 2, 111, 28)]   torch/tinygrad fp: 0.11 / 47.78 ms  bp: 0.75 / 68.58 ms 
testing                       [(32, 2, 111, 28)]   torch/tinygrad fp: 0.25 / 46.25 ms  bp: 0.92 / 66.66 ms 
testing                       [(32, 2, 111, 28)]   torch/tinygrad fp: 0.13 / 65.93 ms  bp: 0.55 / 65.15 ms 
testing                       [(32, 2, 111, 28)]   torch/tinygrad fp: 0.15 / 44.11 ms  bp: 0.84 / 69.02 ms 
testing       [(2, 4, 9, 9), (4, 4, 3, 3), (4,)]   torch/tinygrad fp: 9.65 / 88.07 ms  bp: 8.84 / 588.17 ms 
testing       [(1, 8, 5, 5), (8, 8, 1, 1), (8,)]   torch/tinygrad fp: 0.73 / 84.25 ms  bp: 1.05 / 319.61 ms 
testing                 [(256, 256), (256, 256)]   torch/tinygrad fp: 0.43 / 58.65 ms  bp: 1.75 / 179.26 ms 
testing                     [(32, 10), (32, 10)]   torch/tinygrad fp: 0.69 / 48.21 ms  bp: 1.82 / 131.25 ms 
testing                     [(32, 10), (32, 10)]   torch/tinygrad fp: 0.78 / 48.61 ms  bp: 0.44 / 93.52 ms 
testing                     [(32, 10), (32, 10)]   torch/tinygrad fp: 0.91 / 4.41 ms  bp: 0.32 / 2.52 ms 
testing                     [(32, 10), (32, 10)]   torch/tinygrad fp: 0.07 / 2.55 ms  bp: 0.29 / 2.77 ms 
testing         ((5, 13, 24, 16), (5, 1, 24, 1))   torch/tinygrad fp: 0.04 / 34.86 ms  bp: 0.60 / 110.37 ms 
testing       ((1, 3, 1, 7, 1), (2, 1, 5, 1, 8))   torch/tinygrad fp: 0.05 / 38.69 ms  bp: 0.37 / 134.94 ms 
testing         ((5, 13, 24, 16), (5, 1, 24, 1))   torch/tinygrad fp: 0.12 / 35.86 ms  bp: 0.43 / 44.61 ms 
testing       ((1, 3, 1, 7, 1), (2, 1, 5, 1, 8))   torch/tinygrad fp: 0.05 / 36.51 ms  bp: 0.53 / 43.43 ms 
testing         ((5, 13, 24, 16), (5, 1, 24, 1))   torch/tinygrad fp: 0.11 / 36.20 ms  bp: 0.43 / 92.23 ms 
testing       ((1, 3, 1, 7, 1), (2, 1, 5, 1, 8))   torch/tinygrad fp: 0.04 / 38.25 ms  bp: 0.52 / 124.60 ms 
testing         ((5, 13, 24, 16), (5, 1, 24, 1))   torch/tinygrad fp: 0.07 / 34.09 ms  bp: 0.47 / 102.60 ms 
testing       ((1, 3, 1, 7, 1), (2, 1, 5, 1, 8))   torch/tinygrad fp: 0.05 / 38.71 ms  bp: 0.55 / 110.68 ms 
testing         ((5, 13, 24, 16), (5, 1, 24, 1))   torch/tinygrad fp: 0.26 / 181.80 ms  bp: 1.61 / 608.16 ms 
testing       ((1, 3, 1, 7, 1), (2, 1, 5, 1, 8))   torch/tinygrad fp: 0.10 / 285.05 ms  bp: 0.74 / 639.73 ms 
testing         ((1, 32, 32, 32), (1, 32, 1, 1))   torch/tinygrad fp: 0.05 / 42.04 ms  bp: 1.36 / 109.44 ms 
testing  ((5, 13, 24, 16, 2), (1, 13, 24, 1, 1))   torch/tinygrad fp: 0.06 / 38.75 ms  bp: 0.96 / 140.31 ms ok
test_broadcast_simple (__main__.TestOps) ... ok
test_broadcastdot (__main__.TestOps) ... ok
test_broadcasted_add (__main__.TestOps) ... ok
test_broadcasted_add_2 (__main__.TestOps) ... ok
test_cat (__main__.TestOps) ... ok
test_ceil (__main__.TestOps) ... ok
test_celu (__main__.TestOps) ... ok
test_chunk (__main__.TestOps) ... ok
test_clip (__main__.TestOps) ... ok
test_cmp_eq (__main__.TestOps) ... ok
test_cmp_eq_backwards (__main__.TestOps) ... ok
test_cmp_ge (__main__.TestOps) ... ok
test_cmp_gt (__main__.TestOps) ... 
testing                         ((4, 1), (4, 5))   torch/tinygrad fp: 0.03 / 32.05 ms  bp: 0.35 / 66.01 ms 
testing                         ((1, 4), (5, 4))   torch/tinygrad fp: 0.03 / 31.42 ms  bp: 0.35 / 65.41 ms 
testing         ((1, 32, 32, 32), (1, 32, 1, 1))   torch/tinygrad fp: 0.05 / 34.31 ms  bp: 0.89 / 41.59 ms 
testing  ((5, 13, 24, 16, 2), (1, 13, 24, 1, 1))   torch/tinygrad fp: 0.07 / 36.52 ms  bp: 0.83 / 71.04 ms 
testing                         ((4, 1), (4, 5))   torch/tinygrad fp: 0.03 / 31.60 ms  bp: 0.35 / 32.79 ms 
testing                         ((1, 4), (5, 4))   torch/tinygrad fp: 0.04 / 30.99 ms  bp: 0.43 / 32.65 ms 
testing         ((1, 32, 32, 32), (1, 32, 1, 1))   torch/tinygrad fp: 0.05 / 33.67 ms  bp: 1.01 / 79.26 ms 
testing  ((5, 13, 24, 16, 2), (1, 13, 24, 1, 1))   torch/tinygrad fp: 0.07 / 33.91 ms  bp: 0.97 / 115.20 ms 
testing                         ((4, 1), (4, 5))   torch/tinygrad fp: 0.03 / 31.67 ms  bp: 0.35 / 67.09 ms 
testing                         ((1, 4), (5, 4))   torch/tinygrad fp: 0.04 / 31.32 ms  bp: 0.35 / 66.97 ms 
testing         ((1, 32, 32, 32), (1, 32, 1, 1))   torch/tinygrad fp: 0.05 / 35.09 ms  bp: 0.94 / 81.19 ms 
testing  ((5, 13, 24, 16, 2), (1, 13, 24, 1, 1))   torch/tinygrad fp: 0.07 / 36.14 ms  bp: 0.92 / 144.17 ms 
testing                         ((4, 1), (4, 5))   torch/tinygrad fp: 0.05 / 36.88 ms  bp: 0.50 / 82.38 ms 
testing                         ((1, 4), (5, 4))   torch/tinygrad fp: 0.03 / 36.76 ms  bp: 0.48 / 75.85 ms 
testing         ((1, 32, 32, 32), (1, 32, 1, 1))   torch/tinygrad fp: 0.41 / 180.36 ms  bp: 1.99 / 283.26 ms 
testing  ((5, 13, 24, 16, 2), (1, 13, 24, 1, 1))   torch/tinygrad fp: 0.39 / 173.64 ms  bp: 2.62 / 1090.50 ms 
testing                         ((4, 1), (4, 5))   torch/tinygrad fp: 0.04 / 166.98 ms  bp: 0.42 / 571.41 ms 
testing                         ((1, 4), (5, 4))   torch/tinygrad fp: 0.04 / 208.33 ms  bp: 0.59 / 571.61 ms 
testing                      [(45, 65), (45, 1)]   torch/tinygrad fp: 0.09 / 40.35 ms  bp: 0.49 / 88.63 ms 
testing                           [(45, 65), ()]   torch/tinygrad fp: 0.03 / 36.81 ms  bp: 0.49 / 75.74 ms 
testing                 [(10, 45, 65), (65, 45)]   torch/tinygrad fp: 1.01 / 54.18 ms  bp: 1.61 / 155.03 ms 
testing                      [(45, 65), (45, 1)]   torch/tinygrad fp: 0.05 / 35.61 ms  bp: 0.45 / 40.84 ms 
testing                           [(45, 65), ()]   torch/tinygrad fp: 0.04 / 34.02 ms  bp: 0.47 / 40.82 ms 
testing                        [(45, 65), (65,)]   torch/tinygrad fp: 0.05 / 35.53 ms  bp: 0.46 / 36.74 ms 
testing  [(45, 65, 9), (45, 65, 9), (45, 65, 9)]   torch/tinygrad fp: 0.58 / 44.99 ms  bp: 1.87 / 65.84 ms 
testing  [(45, 65, 9), (45, 65, 9), (45, 65, 9)]   torch/tinygrad fp: 0.14 / 40.29 ms  bp: 1.35 / 33.46 ms 
testing  [(45, 65, 9), (45, 65, 9), (45, 65, 9)]   torch/tinygrad fp: 0.10 / 40.47 ms  bp: 1.84 / 31.34 ms 
testing  [(45, 65, 9), (45, 65, 9), (45, 65, 9)]   torch/tinygrad fp: 0.13 / 1.92 ms  bp: 1.05 / 0.73 ms 
testing  [(45, 65, 9), (45, 65, 9), (45, 65, 9)]   torch/tinygrad fp: 0.07 / 0.82 ms  bp: 1.12 / 0.70 ms 
testing     [(45, 0, 9), (45, 0, 9), (45, 0, 9)]   torch/tinygrad fp: 0.01 / 0.24 ms  bp: 0.15 / 0.45 ms 
testing     [(45, 0, 9), (45, 1, 9), (45, 2, 9)]   torch/tinygrad fp: 0.03 / 36.09 ms  bp: 0.43 / 63.46 ms 
testing     [(45, 0, 9), (45, 0, 9), (45, 0, 9)]   torch/tinygrad fp: 0.07 / 0.20 ms  bp: 0.40 / 0.66 ms 
testing                               [(45, 35)]   torch/tinygrad fp: 0.07 / 33.66 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 31.26 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.13 / 41.93 ms  bp: 0.53 / 40.49 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 29.13 ms  bp: 0.31 / 32.11 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 37.48 ms  bp: 0.33 / 41.11 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 29.21 ms  bp: 0.30 / 31.25 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 36.46 ms  bp: 0.33 / 41.53 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 28.87 ms  bp: 0.31 / 31.15 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 37.68 ms  bp: 0.33 / 40.90 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 30.01 ms  bp: 0.30 / 30.41 ms 
testing                                       []   torch/tinygrad fp: 0.00 / 32.14 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.22 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.01 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.01 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.19 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.21 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 34.19 ms  bp: 0.37 / 44.19 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 39.49 ms  bp: 0.51 / 42.30 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 41.17 ms  bp: 0.51 / 43.56 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 41.14 ms  bp: 0.40 / 44.57 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 39.28 ms  bp: 0.51 / 41.32 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 38.17 ms  bp: 0.51 / 43.36 ms 
testing                   [(3, 4, 5), (3, 4, 5)]   torch/tinygrad fp: 0.05 / 37.87 ms  bp: nan / nan ms 
testing                        [(3, 4, 5), (5,)]   torch/tinygrad fp: 0.03 / 33.15 ms  bp: nan / nan ms 
testing                        [(5,), (3, 4, 5)]   torch/tinygrad fp: 0.02 / 32.50 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 31.70 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.07 / 31.52 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.06 / 33.83 ms  bp: nan / nan ms 
testing                   [(3, 4, 5), (3, 4, 5)]   torch/tinygrad fp: 0.04 / 37.61 ms  bp: nan / nan ms 
testing                        [(3, 4, 5), (5,)]   torch/tinygrad fp: 0.02 / 30.90 ms  bp: nan / nan ms 
testing                        [(5,), (3, 4, 5)]   torch/tinygrad fp: 0.02 / 35.01 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 32.34 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.07 / 33.37 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 29.35 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.08 / 32.75 ms  bp: nan / nan ms ok
test_cmp_le (__main__.TestOps) ... ok
test_cmp_lt (__main__.TestOps) ... ok
test_cmp_lt_backwards (__main__.TestOps) ... ok
test_conv1d (__main__.TestOps) ... ok
test_conv2d (__main__.TestOps) ... ok
test_conv2d_bs_1_cin_1 (__main__.TestOps) ... ok
test_conv2d_bs_4_cin_1 (__main__.TestOps) ... ok
test_conv2d_bs_4_cin_3 (__main__.TestOps) ... 
testing                   [(3, 4, 5), (3, 4, 5)]   torch/tinygrad fp: 0.05 / 32.47 ms  bp: nan / nan ms 
testing                        [(3, 4, 5), (5,)]   torch/tinygrad fp: 0.03 / 34.57 ms  bp: nan / nan ms 
testing                        [(5,), (3, 4, 5)]   torch/tinygrad fp: 0.03 / 34.95 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 31.43 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.08 / 33.50 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 34.69 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.10 / 30.24 ms  bp: nan / nan ms 
testing                   [(3, 4, 5), (3, 4, 5)]   torch/tinygrad fp: 0.02 / 0.69 ms  bp: nan / nan ms 
testing                        [(3, 4, 5), (5,)]   torch/tinygrad fp: 0.02 / 1.08 ms  bp: nan / nan ms 
testing                        [(5,), (3, 4, 5)]   torch/tinygrad fp: 0.02 / 1.09 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.01 / 0.53 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 0.46 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.01 / 0.53 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 0.45 ms  bp: nan / nan ms 
testing                   [(3, 4, 5), (3, 4, 5)]   torch/tinygrad fp: 0.01 / 0.43 ms  bp: nan / nan ms 
testing                        [(3, 4, 5), (5,)]   torch/tinygrad fp: 0.01 / 0.47 ms  bp: nan / nan ms 
testing                        [(5,), (3, 4, 5)]   torch/tinygrad fp: 0.01 / 0.46 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.01 / 0.43 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 0.35 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.01 / 0.43 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 0.35 ms  bp: nan / nan ms 
testing                  [(1, 1, 11), (6, 1, 1)]   torch/tinygrad fp: 0.15 / 37.24 ms  bp: 0.52 / 111.10 ms 
testing                  [(1, 1, 11), (6, 1, 2)]   torch/tinygrad fp: 0.54 / 36.08 ms  bp: 0.91 / 181.22 ms 
testing                  [(1, 1, 11), (6, 1, 5)]   torch/tinygrad fp: 0.53 / 36.68 ms  bp: 0.48 / 189.09 ms 
testing                  [(1, 3, 11), (6, 3, 1)]   torch/tinygrad fp: 0.12 / 37.79 ms  bp: 0.93 / 111.67 ms 
testing                  [(1, 3, 11), (6, 3, 2)]   torch/tinygrad fp: 0.68 / 43.57 ms  bp: 0.87 / 124.63 ms 
testing                  [(1, 3, 11), (6, 3, 5)]   torch/tinygrad fp: 0.62 / 45.75 ms  bp: 0.82 / 124.54 ms 
testing                  [(1, 3, 11), (6, 1, 5)]   torch/tinygrad fp: 2.74 / 39.13 ms  bp: 15.96 / 79.12 ms 
testing                  [(8, 1, 11), (6, 1, 1)]   torch/tinygrad fp: 1.07 / 36.85 ms  bp: 1.60 / 118.48 ms 
testing                  [(8, 1, 11), (6, 1, 2)]   torch/tinygrad fp: 1.75 / 41.32 ms  bp: 5.41 / 221.93 ms 
testing                  [(8, 1, 11), (6, 1, 5)]   torch/tinygrad fp: 1.33 / 45.73 ms  bp: 4.47 / 216.04 ms 
testing                  [(8, 3, 11), (6, 3, 1)]   torch/tinygrad fp: 1.11 / 37.79 ms  bp: 1.93 / 154.14 ms 
testing                  [(8, 3, 11), (6, 3, 2)]   torch/tinygrad fp: 1.03 / 46.68 ms  bp: 4.44 / 162.10 ms 
testing                  [(8, 3, 11), (6, 3, 5)]   torch/tinygrad fp: 0.52 / 48.88 ms  bp: 4.04 / 155.53 ms 
testing                  [(8, 3, 11), (6, 1, 5)]   torch/tinygrad fp: 1.08 / 42.62 ms  bp: 1.90 / 100.44 ms 
testing            [(1, 3, 11, 7), (6, 3, 1, 1)]   torch/tinygrad fp: 0.15 / 40.57 ms  bp: 1.55 / 153.87 ms 
testing            [(1, 3, 11, 7), (6, 3, 1, 2)]   torch/tinygrad fp: 0.81 / 43.90 ms  bp: 0.80 / 237.36 ms 
testing            [(1, 3, 11, 7), (6, 3, 1, 3)]   torch/tinygrad fp: 0.65 / 45.73 ms  bp: 1.15 / 323.98 ms 
testing            [(1, 3, 11, 7), (6, 3, 1, 5)]   torch/tinygrad fp: 0.77 / 47.18 ms  bp: 1.02 / 228.86 ms 
testing            [(1, 3, 11, 7), (6, 3, 2, 1)]   torch/tinygrad fp: 0.61 / 41.89 ms  bp: 1.16 / 222.69 ms 
testing            [(1, 3, 11, 7), (6, 3, 2, 2)]   torch/tinygrad fp: 0.67 / 47.22 ms  bp: 0.99 / 251.86 ms 
testing            [(1, 3, 11, 7), (6, 3, 2, 3)]   torch/tinygrad fp: 0.61 / 52.96 ms  bp: 0.97 / 242.36 ms 
testing            [(1, 3, 11, 7), (6, 3, 2, 5)]   torch/tinygrad fp: 0.68 / 59.27 ms  bp: 1.17 / 247.31 ms 
testing            [(1, 3, 11, 7), (6, 3, 3, 1)]   torch/tinygrad fp: 0.91 / 43.56 ms  bp: 1.11 / 227.47 ms 
testing            [(1, 3, 11, 7), (6, 3, 3, 2)]   torch/tinygrad fp: 0.63 / 48.15 ms  bp: 2.46 / 248.86 ms 
testing            [(1, 3, 11, 7), (6, 3, 3, 3)]   torch/tinygrad fp: 0.63 / 53.20 ms  bp: 0.97 / 267.75 ms 
testing            [(1, 3, 11, 7), (6, 1, 3, 3)]   torch/tinygrad fp: 1.12 / 45.19 ms  bp: 1.68 / 106.01 ms 
testing            [(1, 3, 11, 7), (6, 3, 3, 5)]   torch/tinygrad fp: 0.76 / 70.38 ms  bp: 0.96 / 254.48 ms 
testing            [(1, 1, 11, 7), (6, 1, 1, 1)]   torch/tinygrad fp: 0.11 / 34.44 ms  bp: 0.41 / 82.46 ms 
testing            [(1, 1, 11, 7), (6, 1, 1, 2)]   torch/tinygrad fp: 0.68 / 39.67 ms  bp: 0.95 / 147.50 ms 
testing            [(1, 1, 11, 7), (6, 1, 1, 3)]   torch/tinygrad fp: 0.64 / 41.96 ms  bp: 0.61 / 166.73 ms 
testing            [(1, 1, 11, 7), (6, 1, 1, 5)]   torch/tinygrad fp: 0.67 / 42.95 ms  bp: 0.60 / 152.46 ms 
testing            [(1, 1, 11, 7), (6, 1, 2, 1)]   torch/tinygrad fp: 0.55 / 38.33 ms  bp: 0.57 / 150.87 ms 
testing            [(1, 1, 11, 7), (6, 1, 2, 2)]   torch/tinygrad fp: 0.56 / 43.52 ms  bp: 0.57 / 182.84 ms 
testing            [(1, 1, 11, 7), (6, 1, 2, 3)]   torch/tinygrad fp: 0.82 / 44.14 ms  bp: 0.61 / 181.07 ms 
testing            [(1, 1, 11, 7), (6, 1, 2, 5)]   torch/tinygrad fp: 0.75 / 48.85 ms  bp: 1.10 / 178.09 ms 
testing            [(1, 1, 11, 7), (6, 1, 3, 1)]   torch/tinygrad fp: 0.62 / 37.96 ms  bp: 0.71 / 155.37 ms 
testing            [(1, 1, 11, 7), (6, 1, 3, 2)]   torch/tinygrad fp: 0.82 / 42.50 ms  bp: 0.57 / 177.24 ms 
testing            [(1, 1, 11, 7), (6, 1, 3, 3)]   torch/tinygrad fp: 1.05 / 47.47 ms  bp: 0.73 / 184.41 ms 
testing            [(1, 1, 11, 7), (6, 1, 3, 5)]   torch/tinygrad fp: 0.98 / 48.05 ms  bp: 0.75 / 179.54 ms 
testing            [(4, 1, 11, 7), (6, 1, 1, 1)]   torch/tinygrad fp: 1.03 / 36.03 ms  bp: 2.14 / 146.14 ms 
testing            [(4, 1, 11, 7), (6, 1, 1, 2)]   torch/tinygrad fp: 7.84 / 44.53 ms  bp: 6.49 / 286.22 ms 
testing            [(4, 1, 11, 7), (6, 1, 1, 3)]   torch/tinygrad fp: 8.04 / 46.36 ms  bp: 7.57 / 379.04 ms 
testing            [(4, 1, 11, 7), (6, 1, 1, 5)]   torch/tinygrad fp: 7.95 / 43.72 ms  bp: 8.32 / 241.89 ms 
testing            [(4, 1, 11, 7), (6, 1, 2, 1)]   torch/tinygrad fp: 7.78 / 42.22 ms  bp: 6.10 / 221.43 ms 
testing            [(4, 1, 11, 7), (6, 1, 2, 2)]   torch/tinygrad fp: 7.88 / 47.10 ms  bp: 6.58 / 298.08 ms 
testing            [(4, 1, 11, 7), (6, 1, 2, 3)]   torch/tinygrad fp: 8.22 / 53.12 ms  bp: 8.54 / 286.46 ms 
testing            [(4, 1, 11, 7), (6, 1, 2, 5)]   torch/tinygrad fp: 1.38 / 50.81 ms  bp: 4.69 / 263.61 ms 
testing            [(4, 1, 11, 7), (6, 1, 3, 1)]   torch/tinygrad fp: 6.71 / 45.55 ms  bp: 8.12 / 245.75 ms 
testing            [(4, 1, 11, 7), (6, 1, 3, 2)]   torch/tinygrad fp: 7.79 / 52.28 ms  bp: 6.60 / 289.34 ms 
testing            [(4, 1, 11, 7), (6, 1, 3, 3)]   torch/tinygrad fp: 7.95 / 49.97 ms  bp: 8.61 / 292.65 ms 
testing            [(4, 1, 11, 7), (6, 1, 3, 5)]   torch/tinygrad fp: 1.53 / 51.54 ms  bp: 3.62 / 253.00 ms 
testing            [(4, 3, 11, 7), (6, 3, 1, 1)]   torch/tinygrad fp: 1.31 / 42.52 ms  bp: 2.85 / 142.72 ms 
testing            [(4, 3, 11, 7), (6, 3, 1, 2)]   torch/tinygrad fp: 7.04 / 50.24 ms  bp: 7.89 / 249.81 ms 
testing            [(4, 3, 11, 7), (6, 3, 1, 3)]   torch/tinygrad fp: 8.07 / 55.10 ms  bp: 7.51 / 207.53 ms 
testing            [(4, 3, 11, 7), (6, 3, 1, 5)]   torch/tinygrad fp: 6.98 / 46.51 ms  bp: 6.38 / 171.73 ms ok
test_cos (__main__.TestOps) ... ok
test_cosh (__main__.TestOps) ... ok
test_cumsum (__main__.TestOps) ... ok
test_depthwise_conv2d (__main__.TestOps) ... ok
test_detach (__main__.TestOps) ... ok
test_dilated_conv2d (__main__.TestOps) ... ok
test_dilated_conv_transpose2d (__main__.TestOps) ... ok
test_div (__main__.TestOps) ... ok
test_div_int (__main__.TestOps) ... ok
test_div_naninf (__main__.TestOps) ... ok
test_dot (__main__.TestOps) ... ok
test_dot_1d (__main__.TestOps) ... ok
test_double_slice (__main__.TestOps) ... ok
test_einsum (__main__.TestOps) ... 
testing            [(4, 3, 11, 7), (6, 3, 2, 1)]   torch/tinygrad fp: 7.19 / 43.42 ms  bp: 6.12 / 222.04 ms 
testing            [(4, 3, 11, 7), (6, 3, 2, 2)]   torch/tinygrad fp: 7.69 / 53.65 ms  bp: 7.11 / 274.44 ms 
testing            [(4, 3, 11, 7), (6, 3, 2, 3)]   torch/tinygrad fp: 7.44 / 63.84 ms  bp: 8.43 / 276.03 ms 
testing            [(4, 3, 11, 7), (6, 3, 2, 5)]   torch/tinygrad fp: 0.74 / 68.32 ms  bp: 4.53 / 216.95 ms 
testing            [(4, 3, 11, 7), (6, 3, 3, 1)]   torch/tinygrad fp: 6.48 / 51.98 ms  bp: 8.24 / 198.30 ms 
testing            [(4, 3, 11, 7), (6, 3, 3, 2)]   torch/tinygrad fp: 7.73 / 60.76 ms  bp: 6.55 / 273.77 ms 
testing            [(4, 3, 11, 7), (6, 3, 3, 3)]   torch/tinygrad fp: 7.72 / 69.95 ms  bp: 9.28 / 269.61 ms 
testing            [(4, 3, 11, 7), (6, 1, 3, 3)]   torch/tinygrad fp: 1.09 / 55.02 ms  bp: 2.51 / 127.54 ms 
testing            [(4, 3, 11, 7), (6, 3, 3, 5)]   torch/tinygrad fp: 1.26 / 74.04 ms  bp: 4.02 / 340.67 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.52 / 72.30 ms  bp: 1.44 / 75.65 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 36.64 ms  bp: 0.50 / 33.98 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.07 / 36.85 ms  bp: 0.36 / 37.82 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 1.28 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 1.12 ms  bp: nan / nan ms 
testing                                     [20]   torch/tinygrad fp: 0.76 / 51.37 ms  bp: 1.07 / 92.34 ms 
testing                               [(20, 30)]   torch/tinygrad fp: 0.04 / 54.08 ms  bp: 0.36 / 138.65 ms 
testing                               [(20, 30)]   torch/tinygrad fp: 0.04 / 63.68 ms  bp: 0.36 / 111.71 ms 
testing                           [(20, 30, 40)]   torch/tinygrad fp: 0.06 / 64.62 ms  bp: 0.62 / 117.41 ms 
testing                           [(20, 30, 40)]   torch/tinygrad fp: 0.06 / 0.77 ms  bp: 0.54 / 2.01 ms 
testing         [(1, 32, 32, 32), (32, 1, 1, 1)]   torch/tinygrad fp: 2.75 / 34.97 ms  bp: 2.45 / 83.54 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.00 / 0.28 ms  bp: nan / nan ms 
testing                                     [()]   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing           [(4, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 2.89 / 65.03 ms  bp: 2.42 / 323.32 ms 
testing           [(4, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 1.11 / 76.09 ms  bp: 3.04 / 348.79 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 8.77 / 86.07 ms  bp: 7.96 / 522.15 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 8.49 / 86.99 ms  bp: 8.20 / 485.13 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 8.56 / 90.34 ms  bp: 7.78 / 545.21 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 7.87 / 86.27 ms  bp: 7.78 / 2.03 ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.03 / 35.49 ms  bp: 0.36 / 77.28 ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.03 / 0.56 ms  bp: 0.41 / 1.66 ms 
testing                                 [(), ()]   torch/tinygrad fp: 0.03 / 30.55 ms  bp: 0.34 / 62.13 ms 
testing                                     None   torch/tinygrad fp: 0.09 / 33.00 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.10 / 29.16 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 0.07 ms  bp: 0.34 / 0.47 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.02 / 0.05 ms  bp: 0.14 / 0.35 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.02 / 31.67 ms  bp: 0.49 / 33.73 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.11 / 34.22 ms  bp: 0.49 / 35.53 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.07 / 35.97 ms  bp: 0.36 / 34.15 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.07 / 30.84 ms  bp: 0.49 / 33.91 ms 
testing                    [(45, 65), (65, 100)]   torch/tinygrad fp: 0.55 / 48.82 ms  bp: 1.28 / 159.41 ms 
testing              [(8, 45, 65), (8, 65, 100)]   torch/tinygrad fp: 0.77 / 53.60 ms  bp: 1.67 / 170.05 ms 
testing                         [(2, 4), (1, 3)]   torch/tinygrad exception: mat1 and mat2 shapes cannot be multiplied (2x4 and 1x3) / Input Tensor shapes (2, 4) and (1, 3) cannot be multiplied (4 != 1)
testing                         [(2, 1), (4, 3)]   torch/tinygrad exception: mat1 and mat2 shapes cannot be multiplied (2x1 and 4x3) / Input Tensor shapes (2, 1) and (4, 3) cannot be multiplied (1 != 4)
testing                                 [65, 65]   torch/tinygrad fp: 0.04 / 36.67 ms  bp: 0.46 / 32.04 ms 
testing                           [65, (65, 45)]   torch/tinygrad fp: 0.09 / 47.72 ms  bp: 0.40 / 145.33 ms 
testing                           [(45, 65), 65]   torch/tinygrad fp: 0.06 / 45.94 ms  bp: 0.52 / 44.23 ms 
testing                        [(8, 45, 65), 65]   torch/tinygrad fp: 0.10 / 45.78 ms  bp: 0.57 / 116.35 ms 
testing                        [65, (8, 65, 45)]   torch/tinygrad fp: 0.17 / 50.26 ms  bp: 0.46 / 107.73 ms 
testing                              [4, (1, 2)]   torch/tinygrad exception: mat1 and mat2 shapes cannot be multiplied (1x4 and 1x2) / Input Tensor shapes (4,) and (1, 2) cannot be multiplied (4 != 1)
testing                              [(2, 1), 4]   torch/tinygrad exception: size mismatch, got input (2), mat (2x1), vec (4) / Input Tensor shapes (2, 1) and (4,) cannot be multiplied (1 != 4)
testing                                   [1, 4]   torch/tinygrad exception: inconsistent tensor size, expected tensor [1] and src [4] to have the same number of elements, but got 1 and 4 elements respectively / Input Tensor shapes (1,) and (4,) cannot be multiplied (1 != 4)
testing                                 [(4, 4)]   torch/tinygrad fp: 0.03 / 0.48 ms  bp: 0.51 / 35.52 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.05 / 0.69 ms  bp: 0.48 / 32.85 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.07 / 0.69 ms  bp: 0.36 / 28.34 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.07 / 0.68 ms  bp: 0.36 / 35.15 ms 
testing                             [(150, 150)]   torch/tinygrad fp: 7.33 / 0.44 ms  bp: 0.61 / 69.67 ms 
testing                             [(150, 150)]   torch/tinygrad fp: 0.06 / 0.34 ms  bp: 0.34 / 0.79 ms 
testing                             [(150, 150)]   torch/tinygrad fp: 0.02 / 0.28 ms  bp: 0.22 / 0.61 ms 
testing                           [(20, 30, 40)]   torch/tinygrad fp: 0.02 / 0.30 ms  bp: 0.41 / 35.24 ms 
testing                           [(20, 30, 40)]   torch/tinygrad fp: 0.08 / 0.68 ms  bp: 0.59 / 39.09 ms 
testing                           [(20, 30, 40)]   torch/tinygrad fp: 0.08 / 48.43 ms  bp: 0.36 / 0.55 ms 
testing                               [(50, 50)]   torch/tinygrad fp: 0.09 / 43.21 ms  bp: 0.48 / 64.04 ms 
testing                               [(15, 15)]   torch/tinygrad fp: 0.11 / 39.62 ms  bp: 0.34 / 61.93 ms 
testing                        [(15, 20), (20,)]   torch/tinygrad fp: 0.11 / 40.39 ms  bp: 0.41 / 75.50 ms 
testing                     [(15, 20), (20, 30)]   torch/tinygrad fp: 0.92 / 49.77 ms  bp: 1.07 / 162.91 ms 
testing                                 [30, 30]   torch/tinygrad fp: 0.11 / 36.05 ms  bp: 0.51 / 35.40 ms 
testing                     [(30, 40), (30, 40)]   torch/tinygrad fp: 0.11 / 33.29 ms  bp: 0.35 / 35.37 ms 
testing                           [(15,), (15,)]   torch/tinygrad fp: 0.09 / 37.47 ms  bp: 0.40 / 122.34 ms 
testing             [(10, 20, 30), (10, 30, 40)]   torch/tinygrad fp: 0.65 / 192.17 ms  bp: 1.35 / 399.60 ms 
testing             [(10, 20, 25), (10, 25, 32)]   torch/tinygrad fp: 0.64 / 161.05 ms  bp: 1.26 / 259.97 ms 
testing             [(20, 10, 25), (10, 25, 32)]   torch/tinygrad fp: 0.65 / 149.23 ms  bp: 1.27 / 67.01 ms ok
test_einsum_arity_check1 (__main__.TestOps) ... ok
test_einsum_arity_check2 (__main__.TestOps) ... ok
test_einsum_shape_check (__main__.TestOps) ... ok
test_elu (__main__.TestOps) ... ok
test_empty_0 (__main__.TestOps) ... ok
test_exp (__main__.TestOps) ... ok
test_exp2 (__main__.TestOps) ... ok
test_expand (__main__.TestOps) ... ok
test_eye (__main__.TestOps) ... ok
test_fancy_conv2d (__main__.TestOps) ... ok
test_flatten (__main__.TestOps) ... ok
test_flip (__main__.TestOps) ... ok
test_flip_eye_crash (__main__.TestOps) ... ok
test_floor (__main__.TestOps) ... ok
test_full (__main__.TestOps) ... ok
test_full_like (__main__.TestOps) ... ok
test_gather (__main__.TestOps) ... ok
test_gelu (__main__.TestOps) ... ok
test_gemm (__main__.TestOps) ... ok
test_gemm_with_zeros_shape (__main__.TestOps) ... ok
test_global_avgpool2d (__main__.TestOps) ... ok
test_grouped_conv2d (__main__.TestOps) ... ok
test_grouped_conv_transpose2d (__main__.TestOps) ... ok
test_hardswish (__main__.TestOps) ... ok
test_hardtanh (__main__.TestOps) ... ok
test_inf_where (__main__.TestOps) ... ok
test_large_bs_conv (__main__.TestOps) ... skipped 'slow'
test_large_ic_conv (__main__.TestOps) ... skipped 'slow'
test_large_input_conv2d (__main__.TestOps) ... ok
test_leakyrelu (__main__.TestOps) ... ok
test_log (__main__.TestOps) ... 
testing      [(3, 5, 8, 10), (11, 13, 5, 16, 8)]   torch/tinygrad fp: 1.11 / 82.43 ms  bp: 2.88 / 229.94 ms 
testing      [(3, 8, 10, 5), (11, 5, 13, 16, 8)]   torch/tinygrad fp: 0.54 / 84.30 ms  bp: 3.21 / 289.49 ms 
testing              [(2, 3), (5, 3, 7), (2, 7)]   torch/tinygrad fp: 0.97 / 44.04 ms  bp: 0.48 / 193.63 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.10 / 37.95 ms  bp: 0.46 / 41.29 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 40.07 ms  bp: 0.34 / 43.34 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 33.19 ms  bp: 0.42 / 37.12 ms 
testing                                       []   torch/tinygrad fp: 0.17 / 35.73 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 1.05 / 33.91 ms  bp: 0.45 / 37.97 ms 
testing                                     [()]   torch/tinygrad fp: 0.05 / 30.55 ms  bp: 0.31 / 29.55 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.07 / 36.09 ms  bp: 0.34 / 33.18 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 29.86 ms  bp: 0.46 / 31.38 ms 
testing                           [(4, 3, 1, 6)]   torch/tinygrad fp: 0.04 / 0.31 ms  bp: 0.48 / 63.45 ms 
testing                           [(1, 1, 1, 1)]   torch/tinygrad fp: 0.03 / 0.27 ms  bp: 0.45 / 38.57 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 0.03 ms  bp: 0.36 / 29.73 ms 
testing                                       []   torch/tinygrad fp: 0.11 / 0.28 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.04 / 0.26 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.06 / 0.40 ms  bp: nan / nan ms 
testing           [(2, 3, 11, 28), (3, 1, 3, 3)]   torch/tinygrad fp: 1.23 / 51.07 ms  bp: 3.18 / 306.70 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.07 / 0.48 ms  bp: 0.37 / 71.67 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.29 ms  bp: 0.38 / 38.83 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.04 / 0.56 ms  bp: 0.43 / 38.56 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.01 / 0.47 ms  bp: 0.43 / 35.24 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.29 ms  bp: 0.27 / 33.90 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.29 ms  bp: 0.29 / 38.43 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.27 ms  bp: 0.26 / 0.67 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.04 ms  bp: 0.43 / 32.45 ms 
testing                                   [(1,)]   torch/tinygrad fp: 0.01 / 0.39 ms  bp: 0.38 / 28.50 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.06 / 0.47 ms  bp: 0.45 / 37.88 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.04 / 0.40 ms  bp: 0.45 / 39.64 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.05 / 0.46 ms  bp: 0.37 / 39.40 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.04 / 0.28 ms  bp: 0.56 / 36.39 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.04 / 0.29 ms  bp: 0.46 / 39.63 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.04 / 0.26 ms  bp: 0.26 / 0.67 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.03 ms  bp: 0.13 / 0.35 ms 
testing                                   [(1,)]   torch/tinygrad fp: 0.01 / 0.19 ms  bp: 0.13 / 0.41 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.01 / 0.20 ms  bp: 0.14 / 0.58 ms 
testing                                       []   torch/tinygrad fp: 0.07 / 47.83 ms  bp: nan / nan ms 
testing                               [(45, 35)]   torch/tinygrad fp: 0.03 / 33.76 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 34.23 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.11 / 0.15 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.07 / 0.10 ms  bp: nan / nan ms 
testing                              [(4, 5, 6)]   torch/tinygrad fp: 0.32 / 75.26 ms  bp: 0.85 / 74.45 ms 
testing                              [(4, 5, 6)]   torch/tinygrad fp: 0.05 / 46.39 ms  bp: 0.47 / 78.34 ms 
testing                              [(4, 5, 6)]   torch/tinygrad fp: 0.04 / 74.49 ms  bp: 0.40 / 78.96 ms 
testing                              [(3, 4, 5)]   torch/tinygrad fp: 0.05 / 69.28 ms  bp: 0.35 / 36.20 ms 
testing                              [(4, 5, 6)]   torch/tinygrad exception: Index tensor must have the same number of dimensions as input tensor / self.ndim must equal idx.ndim
testing                              [(2, 1, 1)]   torch/tinygrad exception: Size does not match at dimension 1 expected index [3, 4, 5] to be smaller than self [2, 1, 1] apart from dimension 0 / all dim of idx.shape must be smaller than self.shape
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 38.59 ms  bp: 0.51 / 47.80 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 1.38 ms  bp: 0.29 / 2.03 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 2.27 ms  bp: 0.30 / 2.87 ms 
testing                     [(64, 64), (64, 64)]   torch/tinygrad fp: 2.46 / 58.41 ms  bp: 1.52 / 175.96 ms 
testing                         [(8, 8), (8, 0)]   torch/tinygrad fp: 0.03 / 0.46 ms  bp: 0.38 / 1.10 ms 
testing                         [(0, 8), (8, 8)]   torch/tinygrad fp: 0.02 / 0.88 ms  bp: 0.27 / 1.04 ms 
testing                         [(0, 8), (8, 0)]   torch/tinygrad fp: 0.02 / 0.55 ms  bp: 0.25 / 1.07 ms 
testing                         [(8, 0), (0, 8)]   torch/tinygrad fp: 0.01 / 0.31 ms  bp: 0.15 / 0.64 ms 
testing                         [(0, 0), (0, 0)]   torch/tinygrad fp: 0.01 / 0.31 ms  bp: 0.14 / 0.54 ms 
testing                              [0, (0, 8)]   torch/tinygrad fp: 0.03 / 0.24 ms  bp: 0.50 / 1.06 ms 
testing                                   [0, 0]   torch/tinygrad fp: 0.04 / 0.30 ms  bp: 0.32 / 0.43 ms 
testing                       [(32, 2, 111, 28)]   torch/tinygrad fp: 0.17 / 41.49 ms  bp: 0.51 / 65.78 ms 
testing           [(4, 15, 5, 5), (35, 3, 3, 3)]   torch/tinygrad fp: 1.37 / 66.96 ms  bp: 1.39 / 350.21 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 1.42 / 93.12 ms  bp: 1.77 / 408.59 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.57 / 40.79 ms  bp: 0.51 / 41.34 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 33.89 ms  bp: 0.46 / 34.06 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.09 / 40.08 ms  bp: 0.48 / 42.10 ms 
testing                                     [()]   torch/tinygrad fp: 0.06 / 32.92 ms  bp: 0.32 / 30.80 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 42.73 ms  bp: 0.45 / 41.54 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 30.38 ms  bp: 0.42 / 35.60 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 36.58 ms  bp: 0.45 / 43.20 ms 
testing                                     [()]   torch/tinygrad fp: 0.05 / 34.76 ms  bp: 0.42 / 34.34 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 35.75 ms  bp: 0.46 / 45.63 ms 
testing                                     [()]   torch/tinygrad fp: 0.06 / 33.76 ms  bp: 0.31 / 29.99 ms 
testing         [(4, 16, 64, 64), (6, 16, 5, 2)]   torch/tinygrad fp: 1.69 / 81.08 ms  bp: 3.67 / 405.19 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.11 / 39.60 ms  bp: 0.99 / 41.28 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 34.55 ms  bp: 0.42 / 39.32 ms ok
test_log2 (__main__.TestOps) ... ok
test_log_softmax (__main__.TestOps) ... ok
test_log_softmax_other_axis (__main__.TestOps) ... ok
test_logical_not (__main__.TestOps) ... ok
test_matmul (__main__.TestOps) ... ok
test_matmul_batched (__main__.TestOps) ... ok
test_matmul_batched_vector (__main__.TestOps) ... ok
test_matmul_simple (__main__.TestOps) ... ok
test_matvec (__main__.TestOps) ... ok
test_matvecmat (__main__.TestOps) ... ok
test_max (__main__.TestOps) ... ok
test_max_dont_collapse (__main__.TestOps) ... ok
test_max_inf (__main__.TestOps) ... skipped 'this test is broken #862'
test_maximum (__main__.TestOps) ... ok
test_maxpool2d (__main__.TestOps) ... ok
test_maxpool2d_bigger_stride (__main__.TestOps) ... ok
test_maxpool2d_dilation (__main__.TestOps) ... ok
test_maxpool2d_simple (__main__.TestOps) ... ok
test_maxpool2d_smaller_stride (__main__.TestOps) ... ok
test_maxpool2d_unit_stride (__main__.TestOps) ... ok
test_mean (__main__.TestOps) ... ok
test_mean_axis (__main__.TestOps) ... ok
test_mean_zero_axis (__main__.TestOps) ... ok
test_medium_grouped_conv2d (__main__.TestOps) ... ok
test_min (__main__.TestOps) ... ok
test_minimum (__main__.TestOps) ... ok
test_mish (__main__.TestOps) ... ok
test_mul (__main__.TestOps) ... ok
test_mul_naninf (__main__.TestOps) ... ok
test_mulacc_with_zero_strides (__main__.TestOps) ... 
testing                               [(45, 65)]   torch/tinygrad fp: 1.19 / 40.40 ms  bp: 0.33 / 0.74 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 28.66 ms  bp: 0.33 / 31.93 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.66 / 32.79 ms  bp: 0.46 / 39.44 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 34.39 ms  bp: 0.32 / 32.69 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.56 / 123.85 ms  bp: 0.79 / 215.87 ms 
testing                                     [()]   torch/tinygrad fp: 0.07 / 32.07 ms  bp: 0.34 / 36.17 ms 
testing                           [(10, 10, 10)]   torch/tinygrad fp: 0.07 / 115.69 ms  bp: 0.45 / 249.51 ms 
testing                           [(10, 10, 10)]   torch/tinygrad fp: 0.50 / 121.71 ms  bp: 0.77 / 393.33 ms 
testing                           [(10, 10, 10)]   torch/tinygrad fp: 0.48 / 128.55 ms  bp: 1.20 / 218.74 ms 
testing                                     None   torch/tinygrad fp: 0.06 / 34.28 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 30.14 ms  bp: nan / nan ms 
testing                           [64, (64, 99)]   torch/tinygrad fp: 0.08 / 43.28 ms  bp: 0.54 / 148.02 ms 
testing                        [3, (1, 3, 3, 5)]   torch/tinygrad fp: 0.10 / 37.99 ms  bp: 0.40 / 105.27 ms 
testing                   [(4, 3), (1, 3, 3, 5)]   torch/tinygrad fp: 0.18 / 40.37 ms  bp: 0.59 / 117.61 ms 
testing                              [4, (4, 4)]   torch/tinygrad fp: 0.07 / 32.06 ms  bp: 0.37 / 103.74 ms 
testing                   [(1, 128), (128, 128)]   torch/tinygrad fp: 0.09 / 70.29 ms  bp: 0.51 / 175.28 ms 
testing       [(1, 128), (128, 128), (128, 128)]   torch/tinygrad fp: 0.10 / 64.20 ms  bp: 0.41 / 107.67 ms 
testing                                [(45, 3)]   torch/tinygrad fp: 0.09 / 35.14 ms  bp: 0.69 / 67.63 ms 
testing                                [(45, 3)]   torch/tinygrad fp: 0.06 / 38.55 ms  bp: 0.51 / 32.56 ms 
testing                                     None   torch/tinygrad fp: 0.12 / 37.08 ms  bp: 0.38 / 95.17 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.63 / 38.61 ms  bp: 0.44 / 132.31 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 0.07 ms  bp: 0.42 / 32.22 ms 
testing                                       []   torch/tinygrad fp: 0.59 / 35.15 ms  bp: nan / nan ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.25 / 39.36 ms  bp: 0.69 / 76.39 ms 
testing                                 [(), ()]   torch/tinygrad fp: 0.03 / 32.51 ms  bp: 0.49 / 62.08 ms 
testing                                     None   torch/tinygrad fp: 0.04 / 64.21 ms  bp: 0.38 / 111.05 ms 
testing                                     None   torch/tinygrad fp: 0.06 / 35.43 ms  bp: 0.52 / 75.70 ms 
testing                                     None   torch/tinygrad fp: 0.03 / 67.43 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 33.76 ms  bp: nan / nan ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.22 / 35.78 ms  bp: 1.36 / 106.11 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.17 / 44.27 ms  bp: 0.72 / 160.88 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.14 / 0.82 ms  bp: 0.74 / 1.08 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.09 / 0.67 ms  bp: 0.36 / 1.03 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.11 / 38.58 ms  bp: 0.60 / 138.89 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.16 / 40.72 ms  bp: 0.54 / 114.63 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.16 / 40.81 ms  bp: 0.91 / 105.90 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.16 / 37.63 ms  bp: 0.61 / 143.05 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.18 / 40.00 ms  bp: 0.82 / 109.17 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.18 / 1.42 ms  bp: 0.93 / 1.24 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.10 / 37.15 ms  bp: 0.57 / 110.55 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.16 / 44.19 ms  bp: 0.53 / 261.40 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.16 / 48.99 ms  bp: 0.93 / 286.91 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.14 / 47.38 ms  bp: 1.28 / 222.56 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.16 / 47.17 ms  bp: 1.26 / 210.27 ms 
testing                           [(1, 1, 2, 3)]   torch/tinygrad fp: 0.06 / 37.13 ms  bp: 0.49 / 107.80 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.23 / 43.79 ms  bp: 1.06 / 262.65 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.22 / 48.12 ms  bp: 0.59 / 269.33 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.23 / 47.87 ms  bp: 1.44 / 276.76 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.20 / 50.37 ms  bp: 0.91 / 280.33 ms 
testing                       [(32, 2, 110, 28)]   torch/tinygrad fp: 0.68 / 52.98 ms  bp: 1.13 / 270.82 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.08 / 43.81 ms  bp: 0.46 / 32.73 ms 
testing                                     [()]   torch/tinygrad fp: 0.06 / 0.09 ms  bp: 0.22 / 0.39 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.04 / 47.99 ms  bp: 0.45 / 67.66 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.07 / 34.42 ms  bp: 0.33 / 0.52 ms 
testing             [(1, 4, 1, 1), (4, 2, 1, 1)]   torch/tinygrad fp: 0.91 / 37.69 ms  bp: 1.56 / 107.79 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.53 / 35.60 ms  bp: 0.36 / 134.32 ms 
testing                                [(45, 3)]   torch/tinygrad fp: 0.03 / 38.13 ms  bp: 0.49 / 114.83 ms 
testing                                [(45, 3)]   torch/tinygrad fp: 0.06 / 35.87 ms  bp: 0.52 / 34.37 ms 
testing                                     [()]   torch/tinygrad fp: 0.05 / 31.25 ms  bp: 0.36 / 29.54 ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.05 / 40.97 ms  bp: 0.60 / 82.37 ms 
testing                                 [(), ()]   torch/tinygrad fp: 0.04 / 33.33 ms  bp: 0.48 / 65.47 ms 
testing                                     None   torch/tinygrad fp: 0.04 / 92.02 ms  bp: 0.37 / 108.07 ms 
testing                                     None   torch/tinygrad fp: 0.05 / 36.54 ms  bp: 0.50 / 74.98 ms 
testing                                     None   torch/tinygrad fp: 0.03 / 92.96 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 35.23 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.08 / 38.07 ms  bp: 0.37 / 46.87 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 33.94 ms  bp: 0.32 / 33.47 ms 
testing                     [(64, 64), (64, 64)]   torch/tinygrad fp: 0.03 / 33.30 ms  bp: 0.57 / 35.01 ms 
testing                     [(64, 64), (64, 64)]   torch/tinygrad fp: 0.04 / 0.95 ms  bp: 0.39 / 1.44 ms 
testing                                 [(), ()]   torch/tinygrad fp: 0.02 / 28.47 ms  bp: 0.42 / 63.71 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 31.78 ms  bp: 0.44 / 33.91 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 31.93 ms  bp: 0.45 / 36.99 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 35.00 ms  bp: 0.44 / 35.35 ms 
testing                                       []   torch/tinygrad fp: 0.14 / 32.54 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.14 / 32.23 ms  bp: nan / nan ms ok
test_multicat (__main__.TestOps) ... ok
test_multidot (__main__.TestOps) ... ok
test_multinomial (__main__.TestOps) ... ok
test_neg (__main__.TestOps) ... ok
test_negative_padding_conv2d (__main__.TestOps) ... ok
test_nested_conv2d (__main__.TestOps) ... ok
test_one_hot (__main__.TestOps) ... ok
test_ones (__main__.TestOps) ... ok
test_ones_like (__main__.TestOps) ... ok
test_output_padded_conv_transpose2d (__main__.TestOps) ... ok
test_pad (__main__.TestOps) ... ok
test_pad2d (__main__.TestOps) ... ok
test_pad_slice (__main__.TestOps) ... ok
test_padded_conv2d_1x1 (__main__.TestOps) ... ok
test_padded_conv2d_bs1 (__main__.TestOps) ... ok
test_padded_conv2d_p21 (__main__.TestOps) ... ok
test_padded_conv2d_p22 (__main__.TestOps) ... ok
test_padded_conv3d (__main__.TestOps) ... ok
test_padded_conv_transpose2d (__main__.TestOps) ... 
testing                                       []   torch/tinygrad fp: 0.08 / 29.95 ms  bp: nan / nan ms 
testing           [(45, 65), (45, 65), (45, 65)]   torch/tinygrad fp: 0.04 / 42.37 ms  bp: 0.37 / 65.54 ms 
testing           [(45, 65), (45, 65), (45, 65)]   torch/tinygrad fp: 0.04 / 37.53 ms  bp: 0.49 / 37.15 ms 
testing           [(45, 65), (45, 65), (45, 65)]   torch/tinygrad fp: 0.04 / 0.85 ms  bp: 0.31 / 0.70 ms 
testing             [(10, 45, 65), (10, 65, 45)]   torch/tinygrad fp: 0.66 / 59.88 ms  bp: 1.29 / 105.76 ms 
testing         [(3, 3, 45, 65), (3, 3, 65, 45)]   torch/tinygrad fp: 0.71 / 60.27 ms  bp: 0.93 / 170.64 ms 
testing                                [(1000,)]   torch/tinygrad fp: 1.12 / 164.43 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 31.37 ms  bp: 0.33 / 33.25 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.37 ms  bp: 0.27 / 0.65 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 27.85 ms  bp: 0.31 / 0.47 ms 
testing           [(1, 1, 10, 10), (1, 1, 3, 3)]   torch/tinygrad fp: 0.56 / 46.08 ms  bp: 0.89 / 149.55 ms 
testing           [(1, 1, 10, 10), (1, 1, 3, 3)]   torch/tinygrad fp: 0.60 / 43.55 ms  bp: 1.15 / 213.90 ms 
testing [(1, 32, 9, 9), (32, 32, 3, 3), (32, 32, 3, 3)]   torch/tinygrad fp: 0.83 / 122.80 ms  bp: 1.21 / 882.45 ms 
testing                                       []   torch/tinygrad fp: 0.62 / 39.59 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.18 / 69.45 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.05 / 0.11 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.06 / 0.17 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.02 / 0.07 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.03 / 0.10 ms  bp: nan / nan ms 
testing       [(2, 4, 6, 5), (4, 4, 3, 3), (4,)]   torch/tinygrad fp: 1.84 / 136.01 ms  bp: 8.12 / 623.57 ms 
testing       [(2, 4, 6, 5), (4, 4, 3, 3), (4,)]   torch/tinygrad fp: 0.99 / 142.59 ms  bp: 7.78 / 409.52 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.11 / 0.56 ms  bp: 0.34 / 38.45 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.08 / 77.20 ms  bp: 0.34 / 33.91 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.08 / 38.92 ms  bp: 0.46 / 1.28 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.07 / 39.38 ms  bp: 0.34 / 0.77 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.04 / 40.87 ms  bp: 0.46 / 36.21 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.05 / 0.26 ms  bp: 0.38 / 36.30 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.08 / 0.33 ms  bp: 0.35 / 70.80 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.07 / 0.38 ms  bp: 0.35 / 32.03 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.11 / 43.90 ms  bp: 0.35 / 33.97 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.07 / 46.68 ms  bp: 0.46 / 40.85 ms 
testing                                      [1]   torch/tinygrad fp: 0.12 / 0.67 ms  bp: 0.49 / 30.88 ms 
testing                                      [4]   torch/tinygrad fp: 0.09 / 0.43 ms  bp: 0.27 / 0.48 ms 
testing                                      [4]   torch/tinygrad fp: 0.11 / 0.64 ms  bp: 0.39 / 31.48 ms 
testing                                      [4]   torch/tinygrad fp: 0.09 / 0.40 ms  bp: 0.38 / 0.85 ms 
testing                                      [4]   torch/tinygrad fp: 0.05 / 0.52 ms  bp: 0.35 / 67.54 ms 
testing                                 [(5, 5)]   torch/tinygrad fp: 0.11 / 0.73 ms  bp: 0.56 / 35.10 ms 
testing                                 [(2, 2)]   torch/tinygrad fp: 0.13 / 0.72 ms  bp: 0.36 / 28.56 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.12 / 0.68 ms  bp: 0.39 / 0.85 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.11 / 0.80 ms  bp: 0.39 / 31.53 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.08 / 0.39 ms  bp: 0.35 / 61.89 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.10 / 0.43 ms  bp: 0.28 / 0.52 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.07 / 0.59 ms  bp: 0.37 / 31.12 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.10 / 0.79 ms  bp: 0.36 / 63.79 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.14 / 0.72 ms  bp: 0.37 / 58.14 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.10 / 0.43 ms  bp: 0.50 / 35.16 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.09 / 0.54 ms  bp: 0.36 / 31.41 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.10 / 0.44 ms  bp: 0.49 / 35.33 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.24 / 0.67 ms  bp: 0.51 / 63.67 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.14 / 0.88 ms  bp: 0.56 / 41.83 ms 
testing                                      [1]   torch/tinygrad fp: 0.09 / 34.63 ms  bp: 0.47 / 1.01 ms 
testing                                      [4]   torch/tinygrad fp: 0.07 / 33.02 ms  bp: 0.45 / 0.85 ms 
testing                                      [4]   torch/tinygrad fp: 0.07 / 36.83 ms  bp: 0.37 / 0.76 ms 
testing                                      [4]   torch/tinygrad fp: 0.08 / 35.91 ms  bp: 0.47 / 31.01 ms 
testing                                      [4]   torch/tinygrad fp: 0.09 / 1.45 ms  bp: 0.47 / 35.31 ms 
testing                                 [(5, 5)]   torch/tinygrad fp: 0.09 / 41.65 ms  bp: 0.36 / 32.07 ms 
testing                                 [(2, 2)]   torch/tinygrad fp: 0.10 / 33.83 ms  bp: 0.49 / 30.97 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.09 / 39.67 ms  bp: 0.36 / 0.51 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.05 / 39.94 ms  bp: 0.37 / 31.51 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.08 / 185.57 ms  bp: 0.48 / 37.50 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.10 / 43.03 ms  bp: 0.49 / 35.18 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.14 / 1.91 ms  bp: 0.51 / 36.56 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.09 / 39.09 ms  bp: 0.58 / 34.50 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.14 / 1.82 ms  bp: 0.38 / 33.40 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.10 / 0.91 ms  bp: 0.51 / 34.72 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.09 / 41.15 ms  bp: 0.49 / 37.85 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.13 / 42.65 ms  bp: 0.55 / 35.53 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.13 / 51.20 ms  bp: 0.51 / 36.86 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.10 / 1.07 ms  bp: 0.37 / 34.00 ms 
testing           [(4, 3, 11, 28), (4, 3, 1, 1)]   torch/tinygrad fp: 1.31 / 58.74 ms  bp: 1.32 / 521.02 ms 
testing           [(1, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 1.03 / 100.25 ms  bp: 1.19 / 455.32 ms 
testing           [(4, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 1.34 / 133.70 ms  bp: 3.54 / 485.34 ms 
testing           [(4, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 1.23 / 159.07 ms  bp: 2.38 / 494.72 ms 
testing       [(1, 4, 9, 9, 9), (4, 4, 3, 3, 3)]   torch/tinygrad fp: 1.40 / 133.49 ms  bp: 2.25 / 545.51 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 2.79 / 82.26 ms  bp: 6.30 / 351.26 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 1.64 / 80.11 ms  bp: 4.51 / 263.02 ms ok
test_padding_add (__main__.TestOps) ... ok
test_pow (__main__.TestOps) ... ok
test_pow_const (__main__.TestOps) ... ok
test_pow_full (__main__.TestOps) ... ok
test_quick_gelu (__main__.TestOps) ... ok
test_relu (__main__.TestOps) ... ok
test_relu6 (__main__.TestOps) ... ok
test_relu_exact (__main__.TestOps) ... ok
test_relu_maximum_exact (__main__.TestOps) ... ok
test_repeat (__main__.TestOps) ... ok
test_reshape (__main__.TestOps) ... ok
test_round (__main__.TestOps) ... ok
test_rsqrt (__main__.TestOps) ... ok
test_scalar_div (__main__.TestOps) ... ok
test_scalar_mul (__main__.TestOps) ... ok
test_scalar_rsub (__main__.TestOps) ... ok
test_scalar_sub (__main__.TestOps) ... ok
test_scaled_product_attention (__main__.TestOps) ... ok
test_scaled_product_attention_causal (__main__.TestOps) ... 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 2.27 / 61.09 ms  bp: 4.43 / 295.81 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 6.29 / 88.40 ms  bp: 7.97 / 351.38 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 7.72 / 1.99 ms  bp: 6.49 / 2.60 ms 
testing                     [(64, 64), (60, 60)]   torch/tinygrad fp: 0.06 / 44.30 ms  bp: 0.36 / 0.79 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.08 / 36.32 ms  bp: 0.45 / 0.77 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 35.97 ms  bp: 0.46 / 38.66 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 35.80 ms  bp: 0.45 / 38.34 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 33.37 ms  bp: 0.45 / 39.52 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 38.31 ms  bp: 0.56 / 43.05 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 38.04 ms  bp: 0.31 / 31.03 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 30.47 ms  bp: 0.42 / 35.17 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 1.28 ms  bp: 0.44 / 1.80 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 30.63 ms  bp: 0.43 / 34.70 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.10 / 53.13 ms  bp: 0.49 / 72.95 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.09 / 50.77 ms  bp: 0.50 / 75.59 ms 
testing                                     [()]   torch/tinygrad fp: 0.06 / 35.03 ms  bp: 0.31 / 43.04 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 37.31 ms  bp: 0.31 / 48.72 ms 
testing                                       []   torch/tinygrad fp: 0.05 / 43.23 ms  bp: 0.54 / 2.90 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.82 ms  bp: 0.15 / 0.73 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.02 / 33.80 ms  bp: 0.35 / 43.44 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.07 / 34.47 ms  bp: 0.45 / 0.80 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 1.06 ms  bp: 0.27 / 1.24 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 0.48 ms  bp: 0.16 / 0.68 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.27 ms  bp: 0.14 / 0.56 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 0.24 ms  bp: 0.14 / 0.44 ms 
testing                                     None   torch/tinygrad fp: 0.02 / 60.36 ms  bp: nan / nan ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.06 / 94.00 ms  bp: 1.16 / 261.04 ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.05 / 4.47 ms  bp: 0.87 / 7.78 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 38.57 ms  bp: 0.35 / 42.01 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.08 / 0.74 ms  bp: 0.28 / 0.95 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.59 ms  bp: 0.16 / 0.90 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 31.06 ms  bp: 0.33 / 35.14 ms 
testing                               [(64, 64)]   torch/tinygrad fp: 0.03 / 34.11 ms  bp: 0.33 / 36.44 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 29.59 ms  bp: 0.31 / 30.05 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 35.11 ms  bp: 0.33 / 38.14 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 31.12 ms  bp: 0.31 / 32.47 ms 
testing                                     None   torch/tinygrad fp: 0.04 / 31.76 ms  bp: 0.33 / 32.25 ms 
testing                                     None   torch/tinygrad fp: 0.09 / 31.23 ms  bp: 0.34 / 32.71 ms 
testing                              [(4, 6, 3)]   torch/tinygrad fp: 0.07 / 0.37 ms  bp: 0.48 / 67.76 ms 
testing                                     [()]   torch/tinygrad fp: 0.06 / 0.14 ms  bp: 0.35 / 68.04 ms 
testing                              [(4, 6, 3)]   torch/tinygrad fp: 0.08 / 0.37 ms  bp: 0.58 / 71.53 ms 
testing                                     [()]   torch/tinygrad fp: 0.08 / 0.25 ms  bp: 0.33 / 71.13 ms 
testing                              [(4, 6, 3)]   torch/tinygrad fp: 0.06 / 0.38 ms  bp: 0.35 / 70.98 ms 
testing                                     [()]   torch/tinygrad fp: 0.08 / 0.26 ms  bp: 0.46 / 67.91 ms 
testing                              [(4, 6, 3)]   torch/tinygrad fp: 0.40 / 0.66 ms  bp: 0.43 / 39.09 ms 
testing                                     [()]   torch/tinygrad fp: 0.06 / 0.16 ms  bp: 0.35 / 63.51 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.25 ms  bp: 0.26 / 0.67 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.01 / 0.22 ms  bp: 0.14 / 33.96 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 0.02 ms  bp: 0.24 / 0.40 ms 
testing                                   [(1,)]   torch/tinygrad fp: 0.01 / 0.25 ms  bp: 0.20 / 0.37 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.03 ms  bp: 0.13 / 0.42 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.03 ms  bp: 0.31 / 28.44 ms 
testing                               [(45, 35)]   torch/tinygrad fp: 0.04 / 39.84 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.02 / 34.26 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 34.87 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 35.28 ms  bp: 0.33 / 36.74 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 28.67 ms  bp: 0.31 / 30.56 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 32.93 ms  bp: 0.32 / 34.46 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 0.24 ms  bp: 0.25 / 0.65 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 33.85 ms  bp: 0.34 / 35.01 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 32.15 ms  bp: 0.44 / 38.93 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.10 / 35.32 ms  bp: 0.46 / 37.03 ms 
testing                                     [()]   torch/tinygrad fp: 0.05 / 31.38 ms  bp: 0.30 / 0.50 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 29.11 ms  bp: 0.45 / 32.42 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 36.84 ms  bp: 0.32 / 35.27 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 0.45 ms  bp: 0.25 / 0.65 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.02 / 36.33 ms  bp: 0.32 / 37.29 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 37.23 ms  bp: 0.32 / 0.75 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 28.82 ms  bp: 0.40 / 30.99 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 33.10 ms  bp: 0.41 / 0.90 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.10 / 36.23 ms  bp: 0.32 / 1.10 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 29.87 ms  bp: 0.30 / 0.49 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 36.64 ms  bp: 0.33 / 0.78 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 28.78 ms  bp: 0.39 / 0.77 ms 
testing [(32, 8, 16, 64), (32, 8, 16, 64), (32, 8, 16, 64)]   torch/tinygrad fp: 1.33 / 377.01 ms  bp: 4.37 / 1145.82 ms 
testing [(32, 8, 16, 64), (32, 8, 16, 64), (32, 8, 16, 64), (32, 8, 16, 16)]   torch/tinygrad fp: 0.92 / 72.14 ms  bp: 2.71 / 47.94 ms ok
test_sd_big_conv (__main__.TestOps) ... skipped 'very slow'
test_sigmoid (__main__.TestOps) ... ok
test_sign (__main__.TestOps) ... ok
test_simple_conv2d (__main__.TestOps) ... ok
test_simple_conv2d_1x1 (__main__.TestOps) ... ok
test_simple_conv2d_1x1_m4 (__main__.TestOps) ... ok
test_simple_conv2d_batched (__main__.TestOps) ... ok
test_simple_conv2d_m4 (__main__.TestOps) ... ok
test_simple_conv2d_nhwc (__main__.TestOps) ... ok
test_simple_conv3d (__main__.TestOps) ... ok
test_simple_conv_transpose2d (__main__.TestOps) ... ok
test_simple_conv_transpose3d (__main__.TestOps) ... ok
test_simple_cumsum (__main__.TestOps) ... ok
test_simple_grouped_conv2d (__main__.TestOps) ... ok
test_simple_padding_conv1d (__main__.TestOps) ... ok
test_simple_padding_conv2d (__main__.TestOps) ... ok
test_simple_repeat (__main__.TestOps) ... ok
test_sin (__main__.TestOps) ... ok
test_sinh (__main__.TestOps) ... ok
test_slice_both_endpoints_out_of_bounds (__main__.TestOps) ... ok
test_slice_ellipsis (__main__.TestOps) ... ok
test_slice_empty (__main__.TestOps) ... ok
test_slice_errors (__main__.TestOps) ... ok
test_slice_fancy_indexing_dim_collapse_int (__main__.TestOps) ... ok
test_slice_fancy_indexing_dim_inject_and_collapse (__main__.TestOps) ... ok
test_slice_fancy_indexing_dim_inject_none (__main__.TestOps) ... ok
test_slice_fancy_indexing_errors (__main__.TestOps) ... ok
test_slice_fancy_indexing_list_indices (__main__.TestOps) ... ok
test_slice_fancy_indexing_list_with_tensors (__main__.TestOps) ... ok
test_slice_fancy_indexing_no_dim_collapse (__main__.TestOps) ... ok
test_slice_fancy_indexing_tuple_indices (__main__.TestOps) ... ok
test_slice_fancy_indexing_with_tensors (__main__.TestOps) ... ok
test_slice_in_bounds_1dim (__main__.TestOps) ... 
testing [(32, 8, 16, 64), (32, 8, 16, 64), (32, 8, 16, 64)]   torch/tinygrad fp: 0.39 / 255.00 ms  bp: 2.63 / 3.28 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 38.86 ms  bp: 0.47 / 39.94 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.84 ms  bp: 0.26 / 0.74 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.01 / 0.50 ms  bp: 0.27 / 1.36 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 34.45 ms  bp: 0.31 / 33.45 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 41.24 ms  bp: 0.45 / 46.31 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 33.88 ms  bp: 0.31 / 38.57 ms 
testing             [(1, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 0.66 / 55.25 ms  bp: 1.04 / 258.30 ms 
testing             [(1, 4, 9, 9), (4, 4, 1, 1)]   torch/tinygrad fp: 0.11 / 41.51 ms  bp: 0.86 / 119.28 ms 
testing        [(1, 16, 32, 32), (16, 16, 1, 1)]   torch/tinygrad fp: 0.79 / 107.76 ms  bp: 1.60 / 228.31 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 1.03 / 57.30 ms  bp: 4.28 / 43.03 ms 
testing        [(1, 16, 18, 18), (16, 16, 3, 3)]   torch/tinygrad fp: 0.36 / 97.09 ms  bp: 1.29 / 287.46 ms 
testing          [(2, 9, 9, 10), (3, 3, 10, 20)]   torch/tinygrad fp: 4.52 / 63.56 ms  bp: 3.84 / 324.84 ms 
testing       [(1, 4, 9, 9, 9), (4, 4, 3, 3, 3)]   torch/tinygrad fp: 3.42 / 109.55 ms  bp: 1.75 / 404.14 ms 
testing             [(2, 4, 9, 9), (4, 4, 3, 3)]   torch/tinygrad fp: 8.55 / 2.08 ms  bp: 5.56 / 1.45 ms 
testing       [(2, 4, 9, 9, 9), (4, 4, 3, 3, 3)]   torch/tinygrad fp: 1.00 / 148.57 ms  bp: 2.53 / 661.21 ms 
testing                                    [512]   torch/tinygrad fp: 0.04 / 60.89 ms  bp: 0.49 / 116.30 ms 
testing                                   [1022]   torch/tinygrad fp: 0.03 / 133.21 ms  bp: 0.46 / 235.55 ms 
testing             [(1, 4, 1, 1), (2, 2, 1, 1)]   torch/tinygrad fp: 0.88 / 33.22 ms  bp: 1.79 / 65.05 ms 
testing                  [(6, 2, 11), (6, 2, 5)]   torch/tinygrad fp: 1.41 / 56.73 ms  bp: 3.99 / 207.75 ms 
testing                                     None   torch/tinygrad fp: 0.16 / 38.50 ms  bp: 0.56 / 107.65 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.06 / 0.36 ms  bp: 0.33 / 34.70 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.82 / 55.29 ms  bp: 0.78 / 74.13 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 33.77 ms  bp: 0.31 / 37.99 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.04 / 37.79 ms  bp: 0.47 / 43.02 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.03 / 0.74 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.02 / 0.62 ms  bp: nan / nan ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.26 ms  bp: 0.35 / 0.83 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.26 ms  bp: 0.36 / 0.81 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.03 / 0.63 ms  bp: 0.44 / 67.20 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.39 ms  bp: 0.44 / 33.83 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.42 ms  bp: 0.33 / 37.89 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.37 ms  bp: 0.33 / 33.76 ms 
testing                           [(3, 3, 3, 3)]   torch/tinygrad fp: 0.05 / 0.39 ms  bp: 0.34 / 33.53 ms 
testing                               [(10, 10)]   torch/tinygrad fp: 0.04 / 0.26 ms  bp: 0.35 / 0.84 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.18 / 458.74 ms  bp: 0.43 / 241.57 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.11 / 299.45 ms  bp: 0.55 / 191.30 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 160.66 ms  bp: 0.57 / 150.13 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 119.88 ms  bp: 0.55 / 111.76 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 81.51 ms  bp: 0.41 / 80.55 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.15 / 162.66 ms  bp: 0.57 / 117.02 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.11 / 195.57 ms  bp: 0.57 / 164.23 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 110.37 ms  bp: 0.56 / 115.74 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.66 / 391.07 ms  bp: 0.64 / 262.75 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 332.13 ms  bp: 0.55 / 208.59 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.16 / 257.31 ms  bp: 0.57 / 233.14 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 1.03 / 207.28 ms  bp: 0.58 / 217.17 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.60 / 185.84 ms  bp: 0.59 / 173.98 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 102.66 ms  bp: 0.50 / 71.47 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.12 / 122.42 ms  bp: 0.59 / 114.81 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.18 / 192.30 ms  bp: 0.54 / 77.15 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.13 / 239.34 ms  bp: 0.58 / 208.85 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 275.62 ms  bp: 0.37 / 232.37 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.16 / 113.83 ms  bp: 0.53 / 78.94 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.17 / 213.64 ms  bp: 0.52 / 226.69 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.49 / 2.61 ms  bp: 0.41 / 35.04 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.08 / 39.96 ms  bp: 0.36 / 71.61 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.09 / 108.49 ms  bp: 0.50 / 75.38 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.09 / 5.96 ms  bp: 0.42 / 1.76 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.08 / 47.99 ms  bp: 0.57 / 46.75 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.20 / 12.91 ms  bp: 0.32 / 1.54 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.07 / 132.19 ms  bp: 0.66 / 177.95 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.08 / 4.66 ms  bp: 0.44 / 35.75 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.52 / 124.70 ms  bp: 0.53 / 116.88 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.58 / 158.52 ms  bp: 0.41 / 157.03 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.10 / 73.21 ms  bp: 0.50 / 70.53 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.12 / 6.63 ms  bp: 0.31 / 1.37 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.08 / 5.48 ms  bp: 0.21 / 1.36 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.06 / 5.75 ms  bp: 0.21 / 1.38 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.06 / 171.58 ms  bp: 0.52 / 155.77 ms 
testing                     [(2, 5, 6, 5, 3, 4)]   torch/tinygrad fp: 0.19 / 270.86 ms  bp: 0.56 / 199.26 ms 
testing                                 [(2, 3)]   torch/tinygrad fp: 0.09 / 75.91 ms  bp: 0.47 / 74.44 ms 
testing                                 [(2, 3)]   torch/tinygrad fp: 0.09 / 112.47 ms  bp: 0.47 / 74.93 ms 
testing                                 [(2, 3)]   torch/tinygrad fp: 0.12 / 172.46 ms  bp: 0.45 / 71.11 ms 
testing                                 [(2, 3)]   torch/tinygrad fp: 0.09 / 6.44 ms  bp: 0.26 / 0.93 ms ok
test_slice_in_bounds_multidim (__main__.TestOps) ... ok
test_slice_int_indexing (__main__.TestOps) ... ok
test_slice_negative_strides (__main__.TestOps) ... ok
test_slice_on_0dim_tensor (__main__.TestOps) ... ok
test_slice_one_endpoint_out_of_bounds (__main__.TestOps) ... ok
test_slice_start_gt_end (__main__.TestOps) ... ok
test_slice_stride_gt_one (__main__.TestOps) ... ok
test_slice_with_none (__main__.TestOps) ... ok
test_slice_zero_in_shape (__main__.TestOps) ... ok
test_small_cumsum (__main__.TestOps) ... ok
test_small_gemm (__main__.TestOps) ... ok
test_small_gemm_eye (__main__.TestOps) ... ok
test_small_gemm_range (__main__.TestOps) ... ok
test_softmax (__main__.TestOps) ... ok
test_softplus (__main__.TestOps) ... ok
test_softsign (__main__.TestOps) ... ok
test_split (__main__.TestOps) ... ok
test_sqrt (__main__.TestOps) ... ok
test_squeeze (__main__.TestOps) ... 
testing                                      [3]   torch/tinygrad fp: 0.02 / 0.26 ms  bp: 0.31 / 31.80 ms 
testing                                      [3]   torch/tinygrad fp: 0.03 / 0.34 ms  bp: 0.32 / 30.84 ms 
testing                                      [3]   torch/tinygrad fp: 0.03 / 0.34 ms  bp: 0.31 / 32.07 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.03 / 0.35 ms  bp: 0.32 / 31.76 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.05 / 0.39 ms  bp: 0.33 / 31.82 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.35 ms  bp: 0.33 / 31.06 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.36 ms  bp: 0.33 / 31.74 ms 
testing                                      [3]   torch/tinygrad fp: 0.03 / 0.35 ms  bp: 0.25 / 0.45 ms 
testing                                      [3]   torch/tinygrad fp: 0.04 / 0.68 ms  bp: 0.38 / 0.94 ms 
testing                                      [3]   torch/tinygrad fp: 0.04 / 0.55 ms  bp: 0.35 / 0.78 ms 
testing                                      [3]   torch/tinygrad fp: 0.02 / 0.46 ms  bp: 0.13 / 0.38 ms 
testing                               [(10, 10)]   torch/tinygrad fp: 0.01 / 0.29 ms  bp: 0.31 / 31.69 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.04 / 0.39 ms  bp: 0.34 / 33.30 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 0.07 ms  bp: 0.25 / 0.47 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.02 / 0.27 ms  bp: 0.26 / 1.09 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.02 / 0.40 ms  bp: 0.25 / 1.07 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.02 / 0.49 ms  bp: 0.42 / 36.40 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.08 / 0.65 ms  bp: 0.40 / 32.11 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.03 / 0.33 ms  bp: 0.38 / 1.18 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.02 / 0.19 ms  bp: 0.24 / 0.70 ms 
testing                             [(7, 5, 10)]   torch/tinygrad fp: 0.02 / 0.41 ms  bp: 0.33 / 34.20 ms 
testing                             [(7, 5, 10)]   torch/tinygrad fp: 0.04 / 0.67 ms  bp: 0.46 / 39.58 ms 
testing                             [(7, 5, 10)]   torch/tinygrad fp: 0.07 / 0.91 ms  bp: 0.48 / 36.74 ms 
testing                             [(7, 5, 10)]   torch/tinygrad fp: 0.09 / 0.75 ms  bp: 0.51 / 35.71 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.02 / 0.32 ms  bp: 0.38 / 36.63 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.05 / 0.58 ms  bp: 0.44 / 37.44 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.06 / 0.56 ms  bp: 0.33 / 32.24 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.06 / 0.33 ms  bp: 0.47 / 30.82 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.08 / 0.63 ms  bp: 0.36 / 35.50 ms 
testing                               [(10, 10)]   torch/tinygrad fp: 0.04 / 0.21 ms  bp: 0.35 / 0.78 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.02 / 0.19 ms  bp: 0.24 / 0.69 ms 
testing                                     [10]   torch/tinygrad fp: 0.03 / 41.44 ms  bp: 0.43 / 84.64 ms 
testing                         [(8, 8), (8, 8)]   torch/tinygrad fp: 0.06 / 39.59 ms  bp: 0.34 / 118.06 ms 
testing                                     None   torch/tinygrad fp: 0.06 / 1.50 ms  bp: 0.43 / 1.49 ms 
testing                                     None   torch/tinygrad fp: 0.02 / 0.58 ms  bp: 0.15 / 0.92 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.50 / 39.80 ms  bp: 1.30 / 145.00 ms 
testing                                     [()]   torch/tinygrad fp: 0.05 / 33.68 ms  bp: 0.43 / 34.89 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.10 / 40.53 ms  bp: 0.33 / 42.18 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 34.34 ms  bp: 0.29 / 30.31 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.11 / 38.39 ms  bp: 0.49 / 46.65 ms 
testing                                     [()]   torch/tinygrad fp: 0.07 / 32.69 ms  bp: 0.44 / 35.63 ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.20 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.36 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.01 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.19 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.01 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.01 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 39.51 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.39 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 154.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.00 / 0.02 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.51 / 33.00 ms  bp: 0.32 / 37.97 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 33.59 ms  bp: 0.30 / 29.80 ms 
testing                           [(1, 3, 6, 6)]   torch/tinygrad fp: 0.05 / 0.51 ms  bp: 0.36 / 68.11 ms 
testing                           [(4, 3, 1, 6)]   torch/tinygrad fp: 0.04 / 0.43 ms  bp: 0.35 / 66.74 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.24 ms  bp: 0.24 / 0.68 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad exception: Dimension out of range (expected to be in range of [-4, 3], but got 50) / dim=50 out of range [-4, 3]
testing                           [(4, 3, 6, 6)]   torch/tinygrad exception: Dimension out of range (expected to be in range of [-4, 3], but got -50) / dim=-50 out of range [-4, 3]
testing                           [(4, 3, 6, 1)]   torch/tinygrad fp: 0.01 / 0.24 ms  bp: 0.16 / 33.53 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.26 ms  bp: 0.39 / 1.26 ms 
testing                           [(1, 3, 6, 6)]   torch/tinygrad fp: 0.02 / 0.38 ms  bp: 0.26 / 1.19 ms 
testing                              [(2, 3, 1)]   torch/tinygrad fp: 0.02 / 0.41 ms  bp: 0.13 / 0.78 ms 
testing                                     [()]   torch/tinygrad fp: 0.02 / 0.01 ms  bp: 0.13 / 0.35 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.01 ms  bp: 0.12 / 0.34 ms 
testing                                     [()]   torch/tinygrad fp: 0.01 / 0.02 ms  bp: 0.12 / 0.34 ms 
testing                                     [()]   torch/tinygrad exception: Dimension out of range (expected to be in range of [-1, 0], but got 10) / dim=10 out of range [-1, 0]ok
test_stack (__main__.TestOps) ... ok
test_stack_slice (__main__.TestOps) ... ok
test_std (__main__.TestOps) ... ok
test_std_axis (__main__.TestOps) ... ok
test_std_keepdim (__main__.TestOps) ... ok
test_std_zero_axis (__main__.TestOps) ... /home/jebba/devel/tinygrad/tinygrad/test/test_ops.py:737: UserWarning: std(): degrees of freedom is <= 0. Correction should be strictly less than the reduction factor (input numel divided by output numel). (Triggered internally at ../aten/src/ATen/native/ReduceOps.cpp:1776.)
  helper_test_op([(1,0,3,0,5)], lambda x: x.std(axis=(1,3)))
/home/jebba/devel/tinygrad/tinygrad/test/test_ops.py:738: UserWarning: std(): degrees of freedom is <= 0. Correction should be strictly less than the reduction factor (input numel divided by output numel). (Triggered internally at ../aten/src/ATen/native/ReduceOps.cpp:1776.)
  helper_test_op([(1,0,3,0,5)], lambda x: x.std(axis=(1,3), correction=0))
/home/jebba/devel/tinygrad/tinygrad/test/test_ops.py:739: UserWarning: std(): degrees of freedom is <= 0. Correction should be strictly less than the reduction factor (input numel divided by output numel). (Triggered internally at ../aten/src/ATen/native/ReduceOps.cpp:1776.)
  helper_test_op([(1,0,3,0,5)], lambda x: x.std(axis=(1,3), correction=5))
ok
test_strided_conv1d_simple (__main__.TestOps) ... ok
test_strided_conv2d (__main__.TestOps) ... ok
test_strided_conv2d_simple (__main__.TestOps) ... ok
test_strided_conv_transpose2d (__main__.TestOps) ... ok
test_sub (__main__.TestOps) ... ok
test_sum (__main__.TestOps) ... ok
test_sum_cat_collapse (__main__.TestOps) ... ok
test_sum_collapse (__main__.TestOps) ... ok
test_sum_collapse_neg (__main__.TestOps) ... ok
test_sum_fake (__main__.TestOps) ... ok
test_sum_full (__main__.TestOps) ... ok
test_sum_pad_collapse (__main__.TestOps) ... ok
test_sum_relu (__main__.TestOps) ... ok
test_sum_simple (__main__.TestOps) ... ok
test_sum_with_zeros_shape (__main__.TestOps) ... ok
test_tan (__main__.TestOps) ... ok
test_tanh (__main__.TestOps) ... ok
test_tiny_add (__main__.TestOps) ... ok
test_topo_sort (__main__.TestOps) ... ok
test_transpose (__main__.TestOps) ... ok
test_tril (__main__.TestOps) ... ok
test_triu (__main__.TestOps) ... 
testing                                     [()]   torch/tinygrad exception: Dimension out of range (expected to be in range of [-1, 0], but got 1) / dim=1 out of range [-1, 0]
testing                                     [()]   torch/tinygrad exception: Dimension out of range (expected to be in range of [-1, 0], but got -2) / dim=-2 out of range [-1, 0]
testing  [(45, 65, 3), (45, 65, 3), (45, 65, 3)]   torch/tinygrad fp: 0.14 / 36.45 ms  bp: 0.57 / 71.16 ms 
testing  [(45, 65, 3), (45, 65, 3), (45, 65, 3)]   torch/tinygrad fp: 0.14 / 40.95 ms  bp: 0.58 / 35.23 ms 
testing  [(45, 65, 3), (45, 65, 3), (45, 65, 3)]   torch/tinygrad fp: 0.05 / 43.31 ms  bp: 0.58 / 36.28 ms 
testing  [(45, 65, 3), (45, 65, 3), (45, 65, 3)]   torch/tinygrad fp: 0.09 / 43.29 ms  bp: 0.61 / 1.59 ms 
testing                                      [4]   torch/tinygrad fp: 0.08 / 33.87 ms  bp: 0.37 / 33.00 ms 
testing                                      [5]   torch/tinygrad fp: 0.07 / 36.43 ms  bp: 0.48 / 34.73 ms 
testing                                 [(4, 4)]   torch/tinygrad fp: 0.07 / 36.37 ms  bp: 0.35 / 35.27 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.14 / 85.43 ms  bp: 0.37 / 108.65 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.10 / 45.41 ms  bp: 0.52 / 32.96 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.14 / 43.99 ms  bp: 0.54 / 32.74 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.25 / 84.39 ms  bp: 0.64 / 146.46 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.18 / 91.72 ms  bp: 0.40 / 151.29 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.20 / 96.37 ms  bp: 0.38 / 122.56 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.25 / 43.63 ms  bp: 0.54 / 35.12 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.18 / 44.77 ms  bp: 0.54 / 35.72 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.14 / 45.48 ms  bp: 0.38 / 33.76 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.10 / 0.88 ms  bp: 0.28 / 30.59 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.24 / 1.29 ms  bp: 0.61 / 37.75 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.15 / 35.19 ms  bp: 0.53 / 1.18 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.12 / 0.87 ms  bp: 0.34 / 1.04 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.08 / 0.83 ms  bp: 0.37 / 1.18 ms 
testing                   [(2, 1, 5), (1, 1, 3)]   torch/tinygrad fp: 1.53 / 39.05 ms  bp: 6.15 / 148.02 ms 
testing           [(4, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 7.18 / 329.65 ms  bp: 2.06 / 378.92 ms 
testing           [(4, 3, 11, 28), (4, 3, 3, 3)]   torch/tinygrad fp: 7.46 / 78.65 ms  bp: 2.17 / 360.57 ms 
testing             [(2, 1, 5, 1), (1, 1, 3, 1)]   torch/tinygrad fp: 1.59 / 42.13 ms  bp: 7.48 / 185.11 ms 
testing             [(2, 4, 4, 5), (4, 4, 3, 3)]   torch/tinygrad fp: 1.57 / 117.11 ms  bp: 7.11 / 148.49 ms 
testing             [(2, 4, 4, 5), (4, 4, 3, 3)]   torch/tinygrad fp: 1.24 / 83.35 ms  bp: 8.29 / 347.02 ms 
testing             [(2, 4, 4, 5), (4, 4, 3, 3)]   torch/tinygrad fp: 1.69 / 154.44 ms  bp: 5.52 / 291.23 ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.03 / 38.79 ms  bp: 0.44 / 1.54 ms 
testing                     [(45, 65), (45, 65)]   torch/tinygrad fp: 0.03 / 0.87 ms  bp: 0.15 / 0.69 ms 
testing                                 [(), ()]   torch/tinygrad fp: 0.01 / 30.96 ms  bp: 0.31 / 36.25 ms 
testing                                [(45, 3)]   torch/tinygrad fp: 0.05 / 41.76 ms  bp: 0.31 / 0.49 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.05 / 40.19 ms  bp: 0.44 / 1.29 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.06 / 41.38 ms  bp: 0.45 / 35.80 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.05 / 42.90 ms  bp: 0.44 / 35.91 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.05 / 46.07 ms  bp: 0.44 / 33.85 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.05 / 34.51 ms  bp: 0.46 / 1.28 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 0.07 ms  bp: 0.23 / 0.57 ms 
testing                                       []   torch/tinygrad fp: 0.64 / 45.47 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.54 / 36.11 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.08 / 31.31 ms  bp: nan / nan ms 
testing                               [(256, 1)]   torch/tinygrad fp: 0.04 / 0.32 ms  bp: 0.25 / 69.35 ms 
testing                                  [16384]   torch/tinygrad fp: 0.04 / 45.59 ms  bp: 0.42 / 0.82 ms 
testing                                       []   torch/tinygrad fp: 0.77 / 42.79 ms  bp: nan / nan ms 
testing                              [(3, 4, 5)]   torch/tinygrad fp: 0.06 / 40.20 ms  bp: 0.45 / 37.75 ms 
testing                                     None   torch/tinygrad fp: 0.06 / 33.89 ms  bp: 0.31 / 0.72 ms 
testing                                 [(4, 0)]   torch/tinygrad fp: 0.04 / 0.12 ms  bp: 0.24 / 0.41 ms 
testing                                 [(4, 0)]   torch/tinygrad fp: 0.02 / 0.07 ms  bp: 0.43 / 0.78 ms 
testing                                 [(4, 0)]   torch/tinygrad fp: 0.03 / 0.12 ms  bp: 0.27 / 0.42 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.78 / 105.30 ms  bp: 0.49 / 134.78 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 48.96 ms  bp: 0.31 / 51.03 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 1.24 / 43.09 ms  bp: 0.46 / 42.62 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.64 / 0.90 ms  bp: 0.38 / 1.80 ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.05 / 1.40 ms  bp: 0.15 / 1.08 ms 
testing                                   [3, 3]   torch/tinygrad fp: 0.01 / 31.36 ms  bp: nan / nan ms 
testing                               [(45, 65)]   torch/tinygrad fp: 0.06 / 34.24 ms  bp: 0.33 / 37.47 ms 
testing                                     [()]   torch/tinygrad fp: 0.04 / 28.99 ms  bp: 0.32 / 35.06 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.04 / 0.44 ms  bp: 0.44 / 38.20 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.05 / 0.44 ms  bp: 0.39 / 34.64 ms 
testing                              [(3, 3, 3)]   torch/tinygrad fp: 0.03 / 0.27 ms  bp: 0.44 / 39.61 ms 
testing                           [(1, 2, 3, 4)]   torch/tinygrad fp: 0.03 / 0.27 ms  bp: 0.44 / 38.33 ms 
testing                           [(3, 4, 5, 6)]   torch/tinygrad fp: 0.03 / 0.30 ms  bp: 0.45 / 39.80 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 0.05 ms  bp: 0.24 / 0.41 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.52 / 77.03 ms  bp: 0.75 / 34.64 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.12 / 36.35 ms  bp: 0.45 / 1.09 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.04 / 3.22 ms  bp: 0.28 / 1.45 ms 
testing                              [(5, 3, 3)]   torch/tinygrad fp: 0.05 / 69.07 ms  bp: 0.42 / 34.97 ms 
testing                              [(5, 0, 3)]   torch/tinygrad fp: 0.02 / 0.29 ms  bp: 0.25 / 0.38 ms 
testing                              [(5, 3, 3)]   torch/tinygrad fp: 0.12 / 2.03 ms  bp: 0.17 / 0.76 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.05 / 35.36 ms  bp: 0.43 / 35.92 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.13 / 2.75 ms  bp: 0.41 / 1.68 ms 
testing                                 [(3, 3)]   torch/tinygrad fp: 0.04 / 33.96 ms  bp: 0.42 / 0.98 ms ok
test_trunc (__main__.TestOps) ... ok
test_unflatten (__main__.TestOps) ... ok
test_unsqueeze (__main__.TestOps) ... ok
test_var (__main__.TestOps) ... ok
test_var_axis (__main__.TestOps) ... ok
test_var_keepdim (__main__.TestOps) ... ok
test_var_zero_axis (__main__.TestOps) ... /home/jebba/devel/tinygrad/tinygrad/test/test_ops.py:718: UserWarning: var(): degrees of freedom is <= 0. Correction should be strictly less than the reduction factor (input numel divided by output numel). (Triggered internally at ../aten/src/ATen/native/ReduceOps.cpp:1776.)
  helper_test_op([(1,0,3,0,5)], lambda x: x.var(axis=(1,3)))
/home/jebba/devel/tinygrad/tinygrad/test/test_ops.py:719: UserWarning: var(): degrees of freedom is <= 0. Correction should be strictly less than the reduction factor (input numel divided by output numel). (Triggered internally at ../aten/src/ATen/native/ReduceOps.cpp:1776.)
  helper_test_op([(1,0,3,0,5)], lambda x: x.var(axis=(1,3), correction=0))
/home/jebba/devel/tinygrad/tinygrad/test/test_ops.py:720: UserWarning: var(): degrees of freedom is <= 0. Correction should be strictly less than the reduction factor (input numel divided by output numel). (Triggered internally at ../aten/src/ATen/native/ReduceOps.cpp:1776.)
  helper_test_op([(1,0,3,0,5)], lambda x: x.var(axis=(1,3), correction=5))
ok
test_where (__main__.TestOps) ... ok
test_where_permute (__main__.TestOps) ... ok
test_xor (__main__.TestOps) ... ok
test_zeros (__main__.TestOps) ... ok
test_zeros_like (__main__.TestOps) ... ok

----------------------------------------------------------------------
Ran 245 tests in 117.045s

OK (skipped=4)

testing                              [(5, 3, 3)]   torch/tinygrad fp: 0.03 / 36.30 ms  bp: 0.42 / 39.01 ms 
testing                              [(5, 0, 3)]   torch/tinygrad fp: 0.02 / 0.25 ms  bp: 0.25 / 0.38 ms 
testing                              [(5, 3, 3)]   torch/tinygrad fp: 0.12 / 2.15 ms  bp: 0.18 / 0.81 ms 
testing                               [(45, 35)]   torch/tinygrad fp: 0.29 / 38.56 ms  bp: nan / nan ms 
testing                                     None   torch/tinygrad fp: 0.03 / 32.54 ms  bp: nan / nan ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.08 / 0.47 ms  bp: 0.37 / 39.23 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.05 / 0.48 ms  bp: 0.37 / 39.22 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.05 / 0.48 ms  bp: 0.38 / 35.46 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.29 ms  bp: 0.26 / 38.56 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.48 ms  bp: 0.37 / 39.66 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.03 / 0.43 ms  bp: 0.37 / 1.20 ms 
testing                           [(4, 3, 6, 6)]   torch/tinygrad fp: 0.01 / 0.29 ms  bp: 0.14 / 34.60 ms 
testing                                     [()]   torch/tinygrad fp: 0.03 / 0.04 ms  bp: 0.25 / 0.48 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.23 / 39.10 ms  bp: 0.46 / 34.52 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.10 / 43.80 ms  bp: 0.50 / 33.42 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.10 / 44.02 ms  bp: 0.46 / 33.38 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.25 / 38.82 ms  bp: 0.49 / 36.97 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.30 / 45.83 ms  bp: 0.60 / 36.66 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.13 / 39.34 ms  bp: 0.49 / 38.40 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.45 / 43.32 ms  bp: 0.49 / 36.70 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.18 / 45.29 ms  bp: 0.36 / 33.52 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.13 / 39.27 ms  bp: 0.49 / 38.35 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.15 / 1.54 ms  bp: 0.38 / 31.55 ms 
testing                           [(15, 25, 35)]   torch/tinygrad fp: 0.42 / 1.46 ms  bp: 0.43 / 35.39 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.15 / 0.95 ms  bp: 0.44 / 0.97 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.08 / 0.77 ms  bp: 0.16 / 0.50 ms 
testing                        [(1, 0, 3, 0, 5)]   torch/tinygrad fp: 0.04 / 0.43 ms  bp: 0.16 / 0.59 ms 
testing                                 [(100,)]   torch/tinygrad fp: 0.07 / 32.81 ms  bp: nan / nan ms 
testing                       [(8,), (1,), (1,)]   torch/tinygrad fp: 0.05 / 34.45 ms  bp: nan / nan ms 
testing                 [(10, 10), (10,), (10,)]   torch/tinygrad fp: 0.08 / 36.43 ms  bp: nan / nan ms 
testing                 [(100,), (100,), (100,)]   torch/tinygrad fp: 0.05 / 37.69 ms  bp: nan / nan ms 
testing           [(10, 10), (10, 10), (10, 10)]   torch/tinygrad fp: 0.08 / 35.34 ms  bp: nan / nan ms 
testing                                 [(5, 5)]   torch/tinygrad fp: 0.11 / 35.94 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.07 / 32.89 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.30 / 35.58 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.09 / 36.47 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.04 / 0.16 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.02 / 0.12 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.01 / 0.06 ms  bp: nan / nan ms 
testing                                       []   torch/tinygrad fp: 0.02 / 0.11 ms  bp: nan / nan ms 

test_optim.py

...........................
----------------------------------------------------------------------
Ran 27 tests in 3.959s

OK

test_randomness.py

..............
----------------------------------------------------------------------
Ran 14 tests in 6.518s

OK

test_sample.py

.
----------------------------------------------------------------------
Ran 1 test in 0.438s

OK
[8540 3050 5494 8699 5446 2895 9748 2567 7531 3761 7038 9328 7449 6356
 6707 2289]

test_schedule.py

test_basic_binop_fusion (__main__.TestSchedule) ... ok
test_basic_binop_fusion_deep (__main__.TestSchedule) ... ok
test_binop_early_reshape_reduce_fusion (__main__.TestSchedule) ... ok
test_binop_elu_fusion (__main__.TestSchedule) ... ok
test_binop_permute_fusion (__main__.TestSchedule) ... ok
test_binop_reshape_fusion (__main__.TestSchedule) ... ok
test_binop_reshape_reduce_fusion (__main__.TestSchedule) ... ok
test_cache_binaryop (__main__.TestSchedule) ... ok
test_cache_binaryop_reshaped (__main__.TestSchedule) ... skipped 'failing in old lazy'
test_cache_binaryop_transpose (__main__.TestSchedule) ... skipped 'failing in new lazy'
test_cache_two_reduceops (__main__.TestSchedule) ... ok
test_children_dont_push (__main__.TestSchedule) ... skipped 'not real world'
test_constants_are_embedded (__main__.TestSchedule) ... ok
test_contiguous_add (__main__.TestSchedule) ... ok
test_contiguous_while_contiguous (__main__.TestSchedule) ... ok
test_contiguous_while_not_contiguous (__main__.TestSchedule) ... ok
test_diamond_folded (__main__.TestSchedule) ... ok
test_dont_fuse_binops_with_children (__main__.TestSchedule) ... skipped 'failing in new lazy'
test_double_from (__main__.TestSchedule) ... ok
test_double_sum_ref (__main__.TestSchedule) ... ok
test_example_matmul (__main__.TestSchedule) ... ok
test_expand_nofuse (__main__.TestSchedule) ... ok
test_fancy_reshape_fusion (__main__.TestSchedule) ... skipped 'failing in old lazy'
test_fold_batchnorm (__main__.TestSchedule) ... ok
test_fold_conv_elu (__main__.TestSchedule) ... ok
test_fold_conv_relu (__main__.TestSchedule) ... ok
test_fold_double_unary (__main__.TestSchedule) ... ok
test_image_conv_fusion (__main__.TestSchedule) ... skipped 'failing in old lazy'
test_image_conv_fusion_minimal (__main__.TestSchedule) ... ok
test_image_conv_fusion_more_minimal (__main__.TestSchedule) ... ok
test_mulacc_fusion (__main__.TestSchedule) ... ok
test_mulacc_relu_fusion (__main__.TestSchedule) ... ok
test_multi_permute_should_collapse (__main__.TestSchedule) ... ok
test_multistage_reduce (__main__.TestSchedule) ... ok
test_multistage_reduce_fork (__main__.TestSchedule) ... ok
test_no_binop_rerun (__main__.TestSchedule) ... ok
test_permute_breaks_fusion (__main__.TestSchedule) ... ok
test_pow_const_tensor_simplified (__main__.TestSchedule) ... ok
test_pow_const_tensor_to_zero (__main__.TestSchedule) ... ok
test_push_permute_through_reshape (__main__.TestSchedule) ... ok
test_push_permute_through_reshape_alt (__main__.TestSchedule) ... ok
test_reduce_permute_binop_fusion (__main__.TestSchedule) ... skipped 'not pushing permutes through reduces'
test_reduce_permute_nofuse (__main__.TestSchedule) ... ok
test_reduce_reshape_binop_fusion (__main__.TestSchedule) ... ok
test_reduce_shrink (__main__.TestSchedule) ... ok
test_resnet_block (__main__.TestSchedule) ... ok
test_shrink_fuse (__main__.TestSchedule) ... ok
test_some_permute_fusion (__main__.TestSchedule) ... ok
test_two_elus_sum (__main__.TestSchedule) ... ok
test_two_sum (__main__.TestSchedule) ... ok
test_zero_size (__main__.TestSchedule) ... ok

----------------------------------------------------------------------
Ran 51 tests in 0.195s

OK (skipped=7)

test_search.py

.
----------------------------------------------------------------------
Ran 1 test in 0.418s

OK

test_specific_conv.py

......
----------------------------------------------------------------------
Ran 6 tests in 1.761s

OK

test_speed_v_torch.py

sssssssss......s......................
----------------------------------------------------------------------
Ran 38 tests in 20.124s

OK (skipped=10)

add                                1x    1    0.03 ms (    0.00 GFLOPS     0.00 GB/s) in torch,    0.44 ms (    0.00 GFLOPS     0.00 GB/s) in tinygrad,   16.60x slower       0.00 MOPS     0.00 MB

add                             1024x 1024    0.82 ms (    1.27 GFLOPS    15.29 GB/s) in torch,    0.46 ms (    2.28 GFLOPS    27.34 GB/s) in tinygrad,    0.56x faster       1.05 MOPS    12.58 MB

add                             4096x 4096   22.84 ms (    0.73 GFLOPS     8.82 GB/s) in torch,    1.23 ms (   13.66 GFLOPS   163.92 GB/s) in tinygrad,    0.05x faster      16.78 MOPS   201.33 MB

add_constant                    4096x 4096   20.11 ms (    0.83 GFLOPS     6.67 GB/s) in torch,    0.32 ms (   52.11 GFLOPS   416.87 GB/s) in tinygrad,    0.02x faster      16.78 MOPS   134.22 MB

add_sq                          4096x 4096   71.82 ms (    0.70 GFLOPS     2.80 GB/s) in torch,    0.47 ms (  106.81 GFLOPS   427.26 GB/s) in tinygrad,    0.01x faster      50.33 MOPS   201.33 MB

array_packing                   2048x 2048    2.73 ms (   18.41 GFLOPS    73.63 GB/s) in torch,    0.35 ms (  144.28 GFLOPS   577.10 GB/s) in tinygrad,    0.13x faster      50.33 MOPS   201.33 MB

cat_0                            256x  256    0.11 ms (    1.19 GFLOPS    11.87 GB/s) in torch,    0.44 ms (    0.30 GFLOPS     2.98 GB/s) in tinygrad,    3.98x slower       0.13 MOPS     1.31 MB

cat_1                            256x  256    0.11 ms (    1.22 GFLOPS     9.74 GB/s) in torch,    0.44 ms (    0.30 GFLOPS     2.38 GB/s) in tinygrad,    4.10x slower       0.13 MOPS     1.05 MB

conv bs: 32 chans:  4 ->  32 k:3              1.45 ms (   51.98 GFLOPS     3.30 GB/s) in torch,    0.43 ms (  175.40 GFLOPS    11.13 GB/s) in tinygrad,    0.30x faster      75.50 MOPS     4.79 MB

conv bs: 32 chans: 16 ->  32 k:3              4.01 ms (   75.36 GFLOPS     1.64 GB/s) in torch,    0.44 ms (  680.05 GFLOPS    14.82 GB/s) in tinygrad,    0.11x faster     301.99 MOPS     6.58 MB

conv bs: 32 chans: 64 ->  32 k:3             14.55 ms (   83.03 GFLOPS     0.94 GB/s) in torch,    0.51 ms ( 2382.76 GFLOPS    27.10 GB/s) in tinygrad,    0.03x faster    1207.96 MOPS    13.74 MB

double_permute (64, 64, 64, 64)              31.69 ms (   38.12 GFLOPS     0.43 GB/s) in torch,    0.63 ms ( 1912.57 GFLOPS    21.75 GB/s) in tinygrad,    0.02x faster    1207.96 MOPS    13.74 MB

exp                             2048x 2048    4.80 ms (    1.75 GFLOPS     6.98 GB/s) in torch,    0.45 ms (   18.73 GFLOPS    74.92 GB/s) in tinygrad,    0.09x faster       8.39 MOPS    33.55 MB

gemm                            1024x 1024   28.89 ms (   74.34 GFLOPS     0.44 GB/s) in torch,    0.75 ms ( 2880.83 GFLOPS    16.88 GB/s) in tinygrad,    0.03x faster    2147.48 MOPS    12.58 MB

gemm                             256x  256    0.56 ms (   60.24 GFLOPS     1.41 GB/s) in torch,    0.47 ms (   71.49 GFLOPS     1.68 GB/s) in tinygrad,    0.84x faster      33.55 MOPS     0.79 MB

gemm_unrolled                    512x  512    3.84 ms (   69.84 GFLOPS     0.82 GB/s) in torch,    0.51 ms (  526.59 GFLOPS     6.17 GB/s) in tinygrad,    0.13x faster     268.44 MOPS     3.15 MB

gemm_unrolled_permute_l          512x  512    3.91 ms (   68.64 GFLOPS     0.80 GB/s) in torch,    0.51 ms (  526.16 GFLOPS     6.17 GB/s) in tinygrad,    0.13x faster     268.44 MOPS     3.15 MB

gemm_unrolled_permute_lr         512x  512    3.88 ms (   69.16 GFLOPS     0.81 GB/s) in torch,    0.50 ms (  535.78 GFLOPS     6.28 GB/s) in tinygrad,    0.13x faster     268.44 MOPS     3.15 MB

gemm_unrolled_permute_r          512x  512    3.82 ms (   70.25 GFLOPS     0.82 GB/s) in torch,    0.51 ms (  524.03 GFLOPS     6.14 GB/s) in tinygrad,    0.13x faster     268.44 MOPS     3.15 MB

matvec_1024_1024                1024x 1024    0.35 ms (    5.91 GFLOPS    11.84 GB/s) in torch,    0.46 ms (    4.57 GFLOPS     9.15 GB/s) in tinygrad,    1.29x slower       2.10 MOPS     4.20 MB

matvec_1024_4096                1024x 4096    1.16 ms (    7.25 GFLOPS    14.52 GB/s) in torch,    0.47 ms (   17.99 GFLOPS    36.02 GB/s) in tinygrad,    0.40x faster       8.39 MOPS    16.80 MB

matvec_4096_1024                4096x 1024    1.39 ms (    6.04 GFLOPS    12.09 GB/s) in torch,    0.50 ms (   16.76 GFLOPS    33.56 GB/s) in tinygrad,    0.36x faster       8.39 MOPS    16.80 MB

matvec_4096_4096                4096x 4096    3.29 ms (   10.20 GFLOPS    20.41 GB/s) in torch,    1.19 ms (   28.28 GFLOPS    56.59 GB/s) in tinygrad,    0.36x faster      33.55 MOPS    67.14 MB

max                             4096x 4096    4.12 ms (    4.09 GFLOPS    16.41 GB/s) in torch,    0.55 ms (   30.47 GFLOPS   122.34 GB/s) in tinygrad,    0.13x faster      16.84 MOPS    67.63 MB

mul_sum                         4096x 4096   28.97 ms (    1.16 GFLOPS     4.65 GB/s) in torch,    0.68 ms (   49.27 GFLOPS   197.45 GB/s) in tinygrad,    0.02x faster      33.62 MOPS   134.74 MB

neg                             4096x 4096   19.84 ms (    0.85 GFLOPS     6.76 GB/s) in torch,    1.18 ms (   14.23 GFLOPS   113.81 GB/s) in tinygrad,    0.06x faster      16.78 MOPS   134.22 MB

conv bs:  1 chans: 12 ->  32 k:3              0.86 ms (   65.84 GFLOPS     1.70 GB/s) in torch,    0.44 ms (  127.29 GFLOPS     3.29 GB/s) in tinygrad,    0.52x faster      56.62 MOPS     1.46 MB

partial_sum                     4096x 4096    3.73 ms (    4.52 GFLOPS    18.15 GB/s) in torch,    0.34 ms (   49.88 GFLOPS   200.28 GB/s) in tinygrad,    0.09x faster      16.84 MOPS    67.63 MB

permute                         1024x 1024    1.31 ms (   12.83 GFLOPS    51.51 GB/s) in torch,    0.46 ms (   36.33 GFLOPS   145.89 GB/s) in tinygrad,    0.35x faster      16.84 MOPS    67.63 MB

permute                         4096x 4096   35.22 ms (    0.48 GFLOPS     1.92 GB/s) in torch,    0.95 ms (   17.70 GFLOPS    71.08 GB/s) in tinygrad,    0.03x faster      16.84 MOPS    67.63 MB

pow                             2048x 2048   25.25 ms (    8.97 GFLOPS     1.99 GB/s) in torch,    0.50 ms (  456.67 GFLOPS   101.48 GB/s) in tinygrad,    0.02x faster     226.49 MOPS    50.33 MB

relu                            4096x 4096   18.74 ms (    0.90 GFLOPS     7.16 GB/s) in torch,    1.60 ms (   10.45 GFLOPS    83.63 GB/s) in tinygrad,    0.09x faster      16.78 MOPS   134.22 MB

sub                             4096x 4096   21.62 ms (    0.78 GFLOPS     9.31 GB/s) in torch,    0.45 ms (   37.27 GFLOPS   447.20 GB/s) in tinygrad,    0.02x faster      16.78 MOPS   201.33 MB

sum                             2048x 2048    1.04 ms (    4.07 GFLOPS    16.32 GB/s) in torch,    0.45 ms (    9.26 GFLOPS    37.17 GB/s) in tinygrad,    0.44x faster       4.21 MOPS    16.91 MB

sum                             4096x 4096    3.54 ms (    4.76 GFLOPS    19.11 GB/s) in torch,    0.30 ms (   55.88 GFLOPS   224.40 GB/s) in tinygrad,    0.09x faster      16.84 MOPS    67.63 MB

test_symbolic_jit.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/test_symbolic_jit.py", line 3, in <module>
    from test.helpers import assert_jit_cache_len
ModuleNotFoundError: No module named 'test.helpers'

test_symbolic_ops.py

.............ss
----------------------------------------------------------------------
Ran 15 tests in 4.071s

OK (skipped=2)

test_symbolic_shapetracker.py

......................
----------------------------------------------------------------------
Ran 22 tests in 0.163s

OK

test_tensor_data.py

.s...
----------------------------------------------------------------------
Ran 5 tests in 0.376s

OK (skipped=1)

test_tensor.py

.........................................
----------------------------------------------------------------------
Ran 41 tests in 3.246s

OK

test_to_numpy.py

.
----------------------------------------------------------------------
Ran 1 test in 0.426s

OK
<class 'numpy.ndarray'>

test_uops.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/test_uops.py", line 10, in <module>
    from test.test_dtype import is_dtype_supported
ModuleNotFoundError: No module named 'test.test_dtype'

test_winograd.py

test_four_kernels (__main__.TestWinograd) ... ok
test_profile (__main__.TestWinograd) ... ok
test_speed (__main__.TestWinograd) ... ok

----------------------------------------------------------------------
Ran 3 tests in 1.399s

OK
n:     740  tm:  28.09ms  tot:  35.97ms lazy.py:156:_recursive_lazyop                      <- 100% lazy.py:189:<genexpr>
n:   21007  tm:   4.83ms  tot:   8.57ms ~:0:<built-in method builtins.hash>                <-  87% <string>:2:__hash__
n:    1117  tm:   2.88ms  tot:  27.89ms tensor.py:30:apply                                 <-  22% tensor.py:303:reshape
n:    1191  tm:   2.74ms  tot:   5.68ms lazy.py:28:__init__                                <- 100% lazy.py:18:create_lazybuffer
n:    1272  tm:   2.43ms  tot:  12.74ms lazy.py:18:create_lazybuffer                       <-  48% lazy.py:141:_view
n:     932  tm:   2.43ms  tot:   4.21ms lazy.py:211:_recurse_lb                            <- 100% lazy.py:211:_recurse_lb
n:      81  tm:   2.40ms  tot:  11.49ms tensor.py:349:__getitem__                          <- 100% tensor.py:666:<genexpr>
n:     367  tm:   2.25ms  tot:   7.36ms tensor.py:787:_broadcasted                         <-  55% tensor.py:814:add
n:    1103  tm:   1.92ms  tot:  35.92ms lazy.py:189:<genexpr>                              <- 100% lazy.py:156:_recursive_lazyop
n:     368  tm:   1.82ms  tot:   9.60ms lazy.py:105:e                                      <-  55% mlops.py:99:forward
n:    3210  tm:   1.54ms  tot:   3.46ms shapetracker.py:116:size                           <-  42% lazy.py:18:create_lazybuffer
n:     895  tm:   1.51ms  tot:   5.95ms tensor.py:307:expand                               <-  73% tensor.py:787:_broadcasted
n:     743  tm:   1.41ms  tot:   2.68ms ops.py:55:cached_compare                           <-  99% ops.py:59:<genexpr>
n:    8235  tm:   1.32ms  tot:   1.32ms lazy.py:52:base                                    <-  33% lazy.py:211:_recurse_lb
n:    1117  tm:   1.16ms  tot:   1.66ms tensor.py:21:__init__                              <- 100% tensor.py:30:apply
n:     747  tm:   1.06ms  tot:   8.92ms lazy.py:141:_view                                  <-  39% lazy.py:146:reshape
n:    2010  tm:   0.99ms  tot:   5.25ms ~:0:<built-in method builtins.all>                 <-  37% helpers.py:22:all_same
n:    1127  tm:   0.96ms  tot:   1.84ms shapetracker.py:171:simplify                       <-  71% shapetracker.py:98:__add__
n:    7654  tm:   0.96ms  tot:   0.96ms ~:0:<built-in method builtins.isinstance>          <-  46% enum.py:396:__contains__
n:    2404  tm:   0.86ms  tot:   0.86ms <string>:2:__init__                                <-  25% shapetracker.py:107:from_shape
n:    2494  tm:   0.83ms  tot:   2.88ms ~:0:<method 'get' of 'dict' objects>               <-  89% lazy.py:18:create_lazybuffer
n:    7097  tm:   0.81ms  tot:   0.81ms tensor.py:103:shape                                <-  28% tensor.py:787:_broadcasted
n:    2602  tm:   0.81ms  tot:   1.19ms tensor.py:806:<genexpr>                            <- 100% tensor.py:787:_broadcasted
n:     611  tm:   0.80ms  tot:   2.81ms functools.py:961:__get__                           <- 100% ops.py:65:__hash__
n:    1486  tm:   0.80ms  tot:   0.80ms <string>:2:__eq__                                  <-  50% tensor.py:948:cast
n:     895  tm:   0.78ms  tot:   0.78ms tensor.py:308:<listcomp>                           <- 100% tensor.py:307:expand
n:    2241  tm:   0.74ms  tot:   1.03ms <string>:2:__hash__                                <-  34% tensor.py:787:_broadcasted
n:    6712  tm:   0.64ms  tot:   0.64ms ~:0:<built-in method builtins.len>                 <-  22% tensor.py:787:_broadcasted
n:     254  tm:   0.62ms  tot:   6.35ms tensor.py:303:reshape                              <-  59% tensor.py:198:full
n:     156  tm:   0.59ms  tot:   2.90ms tensor.py:59:__init__                              <- 100% tensor.py:198:full
n:       1  tm:   0.57ms  tot:   8.07ms realize.py:42:run_schedule                         <- 100% tensor.py:115:realize
n:    1559  tm:   0.57ms  tot:   1.01ms enum.py:396:__contains__                           <-  37% lazy.py:211:_recurse_lb
n:    1391  tm:   0.54ms  tot:   0.54ms helpers.py:20:argfix                               <-  62% tensor.py:307:expand
n:    1190  tm:   0.53ms  tot:   1.98ms ~:0:<method 'pop' of 'dict' objects>               <- 100% lazy.py:46:__del__
n:    2206  tm:   0.53ms  tot:   0.92ms helpers.py:22:<genexpr>                            <- 100% ~:0:<built-in method builtins.all>
n:     164  tm:   0.49ms  tot:   4.13ms tensor.py:315:pad                                  <-  98% tensor.py:470:<listcomp>
n:       1  tm:   0.48ms  tot:  42.16ms lazy.py:245:create_schedule                        <- 100% lazy.py:79:schedule
n:    1913  tm:   0.48ms  tot:   0.67ms enum.py:783:__hash__                               <-  33% ~:0:<method 'get' of 'dict' objects>
n:     156  tm:   0.47ms  tot:  11.13ms tensor.py:198:full                                 <- 100% tensor.py:665:<listcomp>
n:    1190  tm:   0.46ms  tot:   2.44ms lazy.py:46:__del__                                 <-  64% realize.py:42:run_schedule
n:     247  tm:   0.41ms  tot:   0.80ms helpers.py:33:merge_dicts                          <-  98% shapetracker.py:131:unbind
n:     254  tm:   0.41ms  tot:   0.66ms shapetracker.py:184:reshape                        <- 100% lazy.py:146:reshape
n:     451  tm:   0.40ms  tot:   0.81ms tensor.py:809:_to_const_val                        <-  54% tensor.py:814:add
n:     381  tm:   0.40ms  tot:   2.17ms shapetracker.py:98:__add__                         <-  71% lazy.py:156:_recursive_lazyop
n:    1350  tm:   0.39ms  tot:   2.65ms ops.py:59:<genexpr>                                <- 100% ~:0:<built-in method builtins.all>
n:    2323  tm:   0.39ms  tot:   0.39ms ~:0:<built-in method builtins.max>                 <-  96% tensor.py:806:<genexpr>
n:      90  tm:   0.39ms  tot:   2.90ms tensor.py:312:shrink                               <-  93% tensor.py:349:__getitem__
n:     243  tm:   0.39ms  tot:   1.61ms shapetracker.py:131:unbind                         <-  99% lazy.py:156:_recursive_lazyop
n:     815  tm:   0.39ms  tot:  11.97ms ~:0:<built-in method _functools.reduce>            <-  87% helpers.py:13:prod
running conv:  23.36 ms
scheduling:   6.24 ms
linearize 1 with   90 ops:  22.67 ms
linearize 3 with  256 ops:  81.60 ms
linearize 4 with    5 ops:   1.53 ms
linearize 5 with  210 ops: 101.98 ms

test_zero_copy.py

test_zero_copy_from_default_to_cpu (__main__.TestZeroCopy) ... skipped "device isn't zero copy"

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK (skipped=1)

external/external_benchmark_hip_compile.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_benchmark_hip_compile.py", line 4, in <module>
    from tinygrad.runtime.ops_gpu import compile_cl, CLDevice
ImportError: cannot import name 'compile_cl' from 'tinygrad.runtime.ops_gpu' (/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_gpu.py)

external/external_benchmark_load_stable_diffusion.py

https://github.com/openai/CLIP/raw/main/clip/bpe_simple_vocab_16e6.txt.gz:   0%|          | 0.00/1.36M [00:00<?, ?B/s]
https://github.com/openai/CLIP/raw/main/clip/bpe_simple_vocab_16e6.txt.gz:  22%|██▏       | 295k/1.36M [00:00<00:00, 2.63MB/s]
https://github.com/openai/CLIP/raw/main/clip/bpe_simple_vocab_16e6.txt.gz:  48%|████▊     | 655k/1.36M [00:00<00:00, 3.15MB/s]
https://github.com/openai/CLIP/raw/main/clip/bpe_simple_vocab_16e6.txt.gz:  82%|████████▏ | 1.11M/1.36M [00:00<00:00, 3.68MB/s]
https://github.com/openai/CLIP/raw/main/clip/bpe_simple_vocab_16e6.txt.gz: 100%|██████████| 1.36M/1.36M [00:00<00:00, 3.39MB/s]

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 0.00/4.27G [00:00<?, ?B/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 115k/4.27G [00:00<1:02:41, 1.13MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 377k/4.27G [00:00<35:43, 1.99MB/s]  
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 934k/4.27G [00:00<19:47, 3.59MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 1.54M/4.27G [00:00<21:13, 3.35MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 3.77M/4.27G [00:00<08:01, 8.86MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 5.13M/4.27G [00:00<06:56, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 6.28M/4.27G [00:00<07:11, 9.86MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 7.54M/4.27G [00:00<06:40, 10.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 9.60M/4.27G [00:01<05:16, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 11.0M/4.27G [00:01<06:08, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 13.4M/4.27G [00:01<04:52, 14.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 15.0M/4.27G [00:01<07:01, 10.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 16.2M/4.27G [00:01<08:16, 8.55MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 18.9M/4.27G [00:01<05:51, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   0%|          | 20.8M/4.27G [00:01<05:13, 13.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 22.5M/4.27G [00:02<05:03, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 24.1M/4.27G [00:02<05:17, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 26.9M/4.27G [00:02<04:11, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 28.8M/4.27G [00:02<04:03, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 30.9M/4.27G [00:02<03:49, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 32.9M/4.27G [00:02<03:53, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 34.8M/4.27G [00:02<03:55, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 36.7M/4.27G [00:02<04:08, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 38.5M/4.27G [00:02<04:04, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 40.3M/4.27G [00:03<04:47, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 41.9M/4.27G [00:03<05:05, 13.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 44.8M/4.27G [00:03<03:58, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 46.7M/4.27G [00:03<05:34, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 48.8M/4.27G [00:03<04:56, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|          | 51.3M/4.27G [00:03<04:12, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|▏         | 53.5M/4.27G [00:04<04:27, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|▏         | 55.3M/4.27G [00:04<04:37, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|▏         | 58.7M/4.27G [00:04<03:34, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|▏         | 60.8M/4.27G [00:04<03:51, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   1%|▏         | 62.8M/4.27G [00:04<08:07, 8.61MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 65.4M/4.27G [00:05<06:18, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 67.3M/4.27G [00:05<08:20, 8.39MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 70.3M/4.27G [00:05<06:07, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 72.2M/4.27G [00:06<09:46, 7.15MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 73.6M/4.27G [00:06<10:10, 6.87MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 74.8M/4.27G [00:06<09:39, 7.23MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 75.9M/4.27G [00:06<13:11, 5.29MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 76.8M/4.27G [00:06<12:28, 5.59MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 79.6M/4.27G [00:07<07:44, 9.02MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 81.0M/4.27G [00:07<07:09, 9.75MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 82.4M/4.27G [00:07<06:50, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 83.8M/4.27G [00:07<06:36, 10.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 85.8M/4.27G [00:07<05:30, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 87.2M/4.27G [00:07<05:23, 12.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 88.7M/4.27G [00:07<05:20, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 90.5M/4.27G [00:07<04:54, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 92.0M/4.27G [00:07<04:46, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 93.7M/4.27G [00:08<04:37, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 95.3M/4.27G [00:08<04:50, 14.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 96.7M/4.27G [00:08<04:55, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 99.3M/4.27G [00:08<04:02, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 101M/4.27G [00:08<04:26, 15.6MB/s] 
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 103M/4.27G [00:08<04:24, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   2%|▏         | 104M/4.27G [00:08<05:49, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 107M/4.27G [00:08<04:32, 15.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 109M/4.27G [00:09<06:44, 10.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 111M/4.27G [00:09<05:11, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 113M/4.27G [00:09<05:49, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 115M/4.27G [00:09<05:46, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 118M/4.27G [00:09<04:36, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 120M/4.27G [00:09<04:19, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 122M/4.27G [00:10<04:15, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 124M/4.27G [00:10<03:58, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 126M/4.27G [00:10<03:53, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 128M/4.27G [00:10<05:41, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 131M/4.27G [00:10<04:31, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 132M/4.27G [00:10<04:35, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 134M/4.27G [00:10<04:42, 14.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 137M/4.27G [00:11<03:43, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 139M/4.27G [00:11<03:42, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 141M/4.27G [00:11<04:07, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 143M/4.27G [00:11<04:12, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 146M/4.27G [00:11<03:37, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   3%|▎         | 148M/4.27G [00:11<03:35, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▎         | 150M/4.27G [00:12<14:34, 4.71MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▎         | 151M/4.27G [00:13<14:13, 4.82MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▎         | 154M/4.27G [00:13<10:29, 6.54MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▎         | 155M/4.27G [00:13<08:51, 7.73MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▎         | 157M/4.27G [00:13<07:43, 8.86MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▎         | 158M/4.27G [00:13<07:10, 9.53MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 160M/4.27G [00:13<05:54, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 162M/4.27G [00:13<05:00, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 164M/4.27G [00:13<04:48, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 166M/4.27G [00:13<04:27, 15.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 168M/4.27G [00:14<04:09, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 170M/4.27G [00:14<03:51, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 172M/4.27G [00:14<03:45, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 174M/4.27G [00:14<03:51, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 176M/4.27G [00:14<04:14, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 180M/4.27G [00:14<03:11, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 182M/4.27G [00:14<03:30, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 184M/4.27G [00:14<03:19, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 186M/4.27G [00:14<03:33, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 189M/4.27G [00:15<03:22, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   4%|▍         | 191M/4.27G [00:15<03:26, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 193M/4.27G [00:15<04:50, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 197M/4.27G [00:15<03:29, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 199M/4.27G [00:15<03:24, 19.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 202M/4.27G [00:15<03:51, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 204M/4.27G [00:15<03:25, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 207M/4.27G [00:16<04:36, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 210M/4.27G [00:16<03:47, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▍         | 212M/4.27G [00:16<03:37, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 215M/4.27G [00:16<03:12, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 217M/4.27G [00:16<03:02, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 220M/4.27G [00:16<03:08, 21.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 222M/4.27G [00:16<03:21, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 225M/4.27G [00:16<03:01, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 227M/4.27G [00:17<03:14, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 231M/4.27G [00:17<02:39, 25.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   5%|▌         | 234M/4.27G [00:17<02:32, 26.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 237M/4.27G [00:17<02:30, 26.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 240M/4.27G [00:17<02:33, 26.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 242M/4.27G [00:17<03:09, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 245M/4.27G [00:17<02:47, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 248M/4.27G [00:18<03:29, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 250M/4.27G [00:18<03:29, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 252M/4.27G [00:18<03:37, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 254M/4.27G [00:18<03:30, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 257M/4.27G [00:18<04:12, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 261M/4.27G [00:18<03:12, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▌         | 263M/4.27G [00:18<04:03, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▋         | 267M/4.27G [00:18<03:09, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▋         | 269M/4.27G [00:19<03:42, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▋         | 272M/4.27G [00:19<03:53, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   6%|▋         | 276M/4.27G [00:19<03:10, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 279M/4.27G [00:19<03:00, 22.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 281M/4.27G [00:19<03:00, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 284M/4.27G [00:20<05:57, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 285M/4.27G [00:20<06:53, 9.62MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 288M/4.27G [00:20<05:18, 12.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 291M/4.27G [00:20<04:48, 13.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 293M/4.27G [00:20<04:14, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 295M/4.27G [00:20<04:16, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 298M/4.27G [00:21<03:39, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 300M/4.27G [00:21<03:51, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 302M/4.27G [00:21<04:46, 13.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 305M/4.27G [00:21<03:55, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 307M/4.27G [00:21<03:42, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 309M/4.27G [00:21<03:37, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 311M/4.27G [00:21<03:23, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 313M/4.27G [00:21<03:55, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 316M/4.27G [00:22<03:15, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   7%|▋         | 319M/4.27G [00:22<03:06, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 321M/4.27G [00:22<03:00, 21.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 324M/4.27G [00:22<02:56, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 326M/4.27G [00:22<02:48, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 329M/4.27G [00:22<02:32, 25.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 332M/4.27G [00:22<02:31, 25.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 335M/4.27G [00:22<02:29, 26.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 338M/4.27G [00:22<02:19, 28.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 342M/4.27G [00:22<02:05, 31.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 345M/4.27G [00:23<02:08, 30.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 349M/4.27G [00:23<02:03, 31.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 352M/4.27G [00:23<02:01, 32.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 356M/4.27G [00:23<01:57, 33.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   8%|▊         | 359M/4.27G [00:23<01:53, 34.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▊         | 363M/4.27G [00:23<01:51, 34.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▊         | 367M/4.27G [00:23<01:50, 35.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▊         | 370M/4.27G [00:23<01:50, 35.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 374M/4.27G [00:23<01:50, 35.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 377M/4.27G [00:24<01:55, 33.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 381M/4.27G [00:24<01:53, 34.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 384M/4.27G [00:24<03:39, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 387M/4.27G [00:24<04:03, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 390M/4.27G [00:24<03:18, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 393M/4.27G [00:25<03:33, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 395M/4.27G [00:25<03:25, 18.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 398M/4.27G [00:25<04:08, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 402M/4.27G [00:25<03:11, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:   9%|▉         | 404M/4.27G [00:25<04:29, 14.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 407M/4.27G [00:25<03:58, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 409M/4.27G [00:26<04:21, 14.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 411M/4.27G [00:26<03:49, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 414M/4.27G [00:26<03:22, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 417M/4.27G [00:26<02:55, 22.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 421M/4.27G [00:26<02:30, 25.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|▉         | 424M/4.27G [00:26<02:25, 26.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 427M/4.27G [00:26<02:38, 24.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 429M/4.27G [00:26<02:37, 24.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 432M/4.27G [00:26<03:05, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 434M/4.27G [00:27<04:53, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 437M/4.27G [00:27<04:09, 15.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 439M/4.27G [00:27<06:08, 10.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 442M/4.27G [00:27<04:38, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 445M/4.27G [00:28<03:50, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  10%|█         | 448M/4.27G [00:28<03:18, 19.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 451M/4.27G [00:28<02:56, 21.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 453M/4.27G [00:28<03:02, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 456M/4.27G [00:28<02:58, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 458M/4.27G [00:28<02:54, 21.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 462M/4.27G [00:28<02:32, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 464M/4.27G [00:28<02:34, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 467M/4.27G [00:29<03:25, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 469M/4.27G [00:29<03:15, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 471M/4.27G [00:29<03:59, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 473M/4.27G [00:29<03:55, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 475M/4.27G [00:29<06:03, 10.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 478M/4.27G [00:29<04:44, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█         | 479M/4.27G [00:29<04:31, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█▏        | 481M/4.27G [00:30<05:07, 12.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█▏        | 484M/4.27G [00:30<03:52, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█▏        | 486M/4.27G [00:30<04:00, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  11%|█▏        | 488M/4.27G [00:30<06:07, 10.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 491M/4.27G [00:30<04:40, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 493M/4.27G [00:31<04:33, 13.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 495M/4.27G [00:31<04:55, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 496M/4.27G [00:31<05:03, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 498M/4.27G [00:31<04:41, 13.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 500M/4.27G [00:31<03:59, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 502M/4.27G [00:31<04:48, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 504M/4.27G [00:31<04:19, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 506M/4.27G [00:31<04:26, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 510M/4.27G [00:32<03:11, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 512M/4.27G [00:32<03:07, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 514M/4.27G [00:32<03:27, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 516M/4.27G [00:32<05:24, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 519M/4.27G [00:32<04:16, 14.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 521M/4.27G [00:32<04:12, 14.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 523M/4.27G [00:33<04:09, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 524M/4.27G [00:33<04:14, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 526M/4.27G [00:33<06:20, 9.83MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 529M/4.27G [00:33<04:51, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  12%|█▏        | 530M/4.27G [00:33<06:09, 10.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 533M/4.27G [00:33<04:32, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 535M/4.27G [00:34<05:12, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 538M/4.27G [00:34<04:01, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 540M/4.27G [00:34<03:47, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 542M/4.27G [00:34<03:52, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 544M/4.27G [00:34<03:53, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 547M/4.27G [00:34<03:27, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 549M/4.27G [00:34<03:36, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 551M/4.27G [00:34<03:10, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 553M/4.27G [00:35<03:10, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 556M/4.27G [00:35<03:05, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 558M/4.27G [00:35<03:08, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 560M/4.27G [00:35<04:27, 13.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 563M/4.27G [00:35<03:32, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 567M/4.27G [00:35<02:53, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 569M/4.27G [00:35<02:57, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 572M/4.27G [00:35<02:41, 22.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  13%|█▎        | 575M/4.27G [00:36<02:35, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▎        | 578M/4.27G [00:36<02:28, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▎        | 580M/4.27G [00:36<02:27, 25.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▎        | 583M/4.27G [00:36<05:04, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▎        | 585M/4.27G [00:36<04:20, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 589M/4.27G [00:36<03:33, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 592M/4.27G [00:37<03:01, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 595M/4.27G [00:37<02:36, 23.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 598M/4.27G [00:37<02:55, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 601M/4.27G [00:37<02:43, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 603M/4.27G [00:37<03:31, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 606M/4.27G [00:37<03:07, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 609M/4.27G [00:37<02:53, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 612M/4.27G [00:37<02:32, 24.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 615M/4.27G [00:38<02:27, 24.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  14%|█▍        | 618M/4.27G [00:38<02:25, 25.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 621M/4.27G [00:38<02:17, 26.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 623M/4.27G [00:38<03:01, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 627M/4.27G [00:38<02:40, 22.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 629M/4.27G [00:38<02:38, 22.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 632M/4.27G [00:38<02:27, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 635M/4.27G [00:38<02:18, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▍        | 638M/4.27G [00:39<02:22, 25.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 641M/4.27G [00:39<03:20, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 643M/4.27G [00:39<03:00, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 646M/4.27G [00:39<06:01, 10.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 649M/4.27G [00:40<04:46, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 652M/4.27G [00:40<03:55, 15.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 655M/4.27G [00:40<03:33, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 657M/4.27G [00:40<03:18, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  15%|█▌        | 660M/4.27G [00:40<02:59, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 662M/4.27G [00:40<04:54, 12.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 665M/4.27G [00:41<04:00, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 667M/4.27G [00:41<04:56, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 671M/4.27G [00:41<03:38, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 674M/4.27G [00:41<03:19, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 676M/4.27G [00:41<03:00, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 679M/4.27G [00:41<02:39, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 683M/4.27G [00:41<02:23, 25.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 686M/4.27G [00:41<02:10, 27.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 689M/4.27G [00:42<02:08, 27.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▌        | 692M/4.27G [00:42<03:28, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▋        | 694M/4.27G [00:42<06:12, 9.58MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▋        | 697M/4.27G [00:43<04:59, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▋        | 699M/4.27G [00:43<05:26, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▋        | 701M/4.27G [00:43<05:01, 11.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  16%|█▋        | 703M/4.27G [00:43<06:49, 8.70MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 704M/4.27G [00:43<07:06, 8.35MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 707M/4.27G [00:44<05:10, 11.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 709M/4.27G [00:44<05:23, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 710M/4.27G [00:44<04:59, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 712M/4.27G [00:44<04:55, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 713M/4.27G [00:44<04:57, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 715M/4.27G [00:44<04:30, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 716M/4.27G [00:44<04:32, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 718M/4.27G [00:44<04:50, 12.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 720M/4.27G [00:44<03:45, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 722M/4.27G [00:45<04:13, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 725M/4.27G [00:45<03:22, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 727M/4.27G [00:45<03:06, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 730M/4.27G [00:45<02:59, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 732M/4.27G [00:45<02:55, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 734M/4.27G [00:45<02:49, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 736M/4.27G [00:45<02:45, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 738M/4.27G [00:45<03:22, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 740M/4.27G [00:46<03:39, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 742M/4.27G [00:46<03:24, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 744M/4.27G [00:46<03:28, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  17%|█▋        | 746M/4.27G [00:46<04:11, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 749M/4.27G [00:46<03:15, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 751M/4.27G [00:46<03:13, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 753M/4.27G [00:46<03:09, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 755M/4.27G [00:46<03:14, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 759M/4.27G [00:47<02:28, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 762M/4.27G [00:47<02:26, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 764M/4.27G [00:47<02:22, 24.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 767M/4.27G [00:47<02:21, 24.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 770M/4.27G [00:47<02:31, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 772M/4.27G [00:47<02:34, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 775M/4.27G [00:47<02:43, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 778M/4.27G [00:47<02:19, 25.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 781M/4.27G [00:47<02:31, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 784M/4.27G [00:48<02:39, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  18%|█▊        | 788M/4.27G [00:48<02:20, 24.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▊        | 790M/4.27G [00:48<02:30, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▊        | 793M/4.27G [00:48<03:36, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▊        | 796M/4.27G [00:48<02:56, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▊        | 799M/4.27G [00:48<02:54, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 801M/4.27G [00:48<02:50, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 803M/4.27G [00:49<02:57, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 805M/4.27G [00:49<04:05, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 807M/4.27G [00:49<03:50, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 809M/4.27G [00:49<05:44, 10.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 812M/4.27G [00:49<04:49, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 813M/4.27G [00:50<04:54, 11.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 815M/4.27G [00:50<04:56, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 816M/4.27G [00:50<04:32, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 819M/4.27G [00:50<03:27, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 821M/4.27G [00:50<03:17, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 823M/4.27G [00:50<04:21, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 825M/4.27G [00:50<03:43, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 828M/4.27G [00:50<03:26, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 830M/4.27G [00:51<04:15, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  19%|█▉        | 832M/4.27G [00:51<05:15, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 833M/4.27G [00:51<04:48, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 835M/4.27G [00:51<04:05, 13.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 837M/4.27G [00:51<03:57, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 840M/4.27G [00:51<03:15, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 842M/4.27G [00:52<04:38, 12.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 845M/4.27G [00:52<03:24, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 847M/4.27G [00:52<05:11, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 850M/4.27G [00:52<04:04, 13.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|█▉        | 852M/4.27G [00:52<05:00, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 856M/4.27G [00:53<03:44, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 858M/4.27G [00:53<04:26, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 861M/4.27G [00:53<03:35, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 863M/4.27G [00:53<04:50, 11.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 866M/4.27G [00:53<03:46, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 868M/4.27G [00:53<03:37, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 870M/4.27G [00:54<03:37, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  20%|██        | 873M/4.27G [00:54<03:01, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 876M/4.27G [00:54<02:53, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 878M/4.27G [00:54<02:58, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 880M/4.27G [00:54<03:03, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 883M/4.27G [00:54<02:33, 22.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 885M/4.27G [00:54<03:09, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 889M/4.27G [00:54<02:37, 21.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 891M/4.27G [00:55<02:40, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 894M/4.27G [00:55<04:00, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 896M/4.27G [00:55<03:32, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 898M/4.27G [00:55<04:45, 11.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 900M/4.27G [00:55<04:08, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 902M/4.27G [00:56<04:15, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 903M/4.27G [00:56<05:26, 10.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██        | 906M/4.27G [00:56<04:31, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██▏       | 907M/4.27G [00:56<05:17, 10.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██▏       | 910M/4.27G [00:56<03:57, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██▏       | 912M/4.27G [00:57<05:27, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██▏       | 914M/4.27G [00:57<04:55, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  21%|██▏       | 915M/4.27G [00:57<06:22, 8.76MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 917M/4.27G [00:57<04:58, 11.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 919M/4.27G [00:57<04:51, 11.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 921M/4.27G [00:57<04:22, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 922M/4.27G [00:57<04:58, 11.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 926M/4.27G [00:58<03:10, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 928M/4.27G [00:58<03:22, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 930M/4.27G [00:58<04:39, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 934M/4.27G [00:58<03:18, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 936M/4.27G [00:58<03:14, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 939M/4.27G [00:58<02:47, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 942M/4.27G [00:58<02:52, 19.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 944M/4.27G [00:58<02:44, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 947M/4.27G [00:59<02:21, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 950M/4.27G [00:59<02:11, 25.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 953M/4.27G [00:59<02:43, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  22%|██▏       | 957M/4.27G [00:59<02:12, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 960M/4.27G [00:59<02:19, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 962M/4.27G [00:59<02:40, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 966M/4.27G [00:59<02:22, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 968M/4.27G [01:00<02:35, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 971M/4.27G [01:00<02:18, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 974M/4.27G [01:00<02:12, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 977M/4.27G [01:00<03:53, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 980M/4.27G [01:00<03:14, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 982M/4.27G [01:01<04:16, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 986M/4.27G [01:01<03:18, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 988M/4.27G [01:01<03:06, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 990M/4.27G [01:01<03:22, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 993M/4.27G [01:01<02:51, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 996M/4.27G [01:01<04:52, 11.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 998M/4.27G [01:02<03:55, 13.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  23%|██▎       | 1.00G/4.27G [01:02<03:46, 14.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▎       | 1.00G/4.27G [01:02<03:08, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▎       | 1.01G/4.27G [01:02<03:05, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▎       | 1.01G/4.27G [01:02<03:07, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▎       | 1.01G/4.27G [01:02<02:39, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.01G/4.27G [01:02<02:35, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.02G/4.27G [01:02<02:12, 24.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.02G/4.27G [01:03<02:18, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.02G/4.27G [01:03<02:01, 26.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.03G/4.27G [01:03<01:54, 28.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.03G/4.27G [01:03<02:06, 25.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.03G/4.27G [01:03<02:10, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.04G/4.27G [01:03<02:00, 26.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.04G/4.27G [01:03<02:06, 25.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.04G/4.27G [01:03<03:02, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  24%|██▍       | 1.04G/4.27G [01:04<02:33, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.05G/4.27G [01:04<02:20, 22.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.05G/4.27G [01:04<02:10, 24.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.05G/4.27G [01:04<04:03, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.05G/4.27G [01:04<03:46, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.06G/4.27G [01:05<04:47, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.06G/4.27G [01:05<04:12, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.06G/4.27G [01:05<04:58, 10.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.06G/4.27G [01:05<04:16, 12.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▍       | 1.06G/4.27G [01:05<04:50, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.07G/4.27G [01:05<03:46, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.07G/4.27G [01:05<03:31, 15.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.07G/4.27G [01:06<03:07, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.07G/4.27G [01:06<02:47, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.08G/4.27G [01:06<02:33, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.08G/4.27G [01:06<02:27, 21.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.08G/4.27G [01:06<02:26, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.08G/4.27G [01:06<02:07, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  25%|██▌       | 1.09G/4.27G [01:06<02:01, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.09G/4.27G [01:06<02:02, 25.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.09G/4.27G [01:07<02:58, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.10G/4.27G [01:07<02:41, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.10G/4.27G [01:07<02:35, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.10G/4.27G [01:07<03:25, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.10G/4.27G [01:07<04:23, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.11G/4.27G [01:07<03:24, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.11G/4.27G [01:08<04:36, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.11G/4.27G [01:08<06:00, 8.76MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.11G/4.27G [01:08<04:05, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.11G/4.27G [01:08<03:52, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.12G/4.27G [01:08<04:10, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▌       | 1.12G/4.27G [01:09<04:02, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▋       | 1.12G/4.27G [01:09<04:15, 12.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▋       | 1.12G/4.27G [01:09<04:33, 11.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▋       | 1.12G/4.27G [01:09<04:44, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▋       | 1.13G/4.27G [01:09<03:14, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  26%|██▋       | 1.13G/4.27G [01:09<02:57, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.13G/4.27G [01:09<02:52, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.13G/4.27G [01:09<02:53, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.13G/4.27G [01:10<03:08, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.14G/4.27G [01:10<03:10, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.14G/4.27G [01:10<02:33, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.14G/4.27G [01:10<02:29, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.14G/4.27G [01:10<02:30, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.15G/4.27G [01:10<02:30, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.15G/4.27G [01:10<02:45, 18.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.15G/4.27G [01:10<02:29, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.15G/4.27G [01:10<02:22, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.16G/4.27G [01:11<02:20, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.16G/4.27G [01:11<02:15, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.16G/4.27G [01:11<02:10, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.16G/4.27G [01:11<02:44, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.17G/4.27G [01:11<02:28, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  27%|██▋       | 1.17G/4.27G [01:11<02:02, 25.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.17G/4.27G [01:11<02:04, 24.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.18G/4.27G [01:11<02:00, 25.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.18G/4.27G [01:12<02:06, 24.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.18G/4.27G [01:12<04:40, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.18G/4.27G [01:12<05:58, 8.59MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:13<05:05, 10.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:13<05:55, 8.65MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:13<05:14, 9.77MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:13<06:45, 7.59MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:13<05:25, 9.44MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:14<05:40, 9.02MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.19G/4.27G [01:14<05:35, 9.15MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:14<04:43, 10.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:14<06:08, 8.32MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:14<06:51, 7.45MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:14<07:09, 7.13MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:15<07:10, 7.11MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:15<04:36, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.20G/4.27G [01:15<05:13, 9.75MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.21G/4.27G [01:15<04:43, 10.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.21G/4.27G [01:15<07:33, 6.75MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.21G/4.27G [01:15<07:43, 6.59MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.21G/4.27G [01:16<05:27, 9.32MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.21G/4.27G [01:16<04:28, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.21G/4.27G [01:16<04:13, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  28%|██▊       | 1.22G/4.27G [01:16<05:18, 9.57MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▊       | 1.22G/4.27G [01:16<04:58, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▊       | 1.22G/4.27G [01:16<03:42, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▊       | 1.22G/4.27G [01:16<04:29, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▊       | 1.22G/4.27G [01:16<03:51, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▊       | 1.22G/4.27G [01:17<03:36, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▊       | 1.23G/4.27G [01:17<06:04, 8.34MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.23G/4.27G [01:17<05:33, 9.11MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.23G/4.27G [01:17<04:28, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.23G/4.27G [01:17<05:18, 9.54MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.23G/4.27G [01:18<04:56, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.23G/4.27G [01:18<05:49, 8.68MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.24G/4.27G [01:18<04:34, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.24G/4.27G [01:18<06:08, 8.21MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.24G/4.27G [01:18<04:50, 10.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.24G/4.27G [01:19<07:10, 7.03MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.24G/4.27G [01:19<07:24, 6.80MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.24G/4.27G [01:19<05:20, 9.42MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.25G/4.27G [01:19<04:12, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.25G/4.27G [01:19<04:10, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.25G/4.27G [01:19<03:54, 12.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.25G/4.27G [01:19<03:51, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.25G/4.27G [01:20<04:20, 11.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.26G/4.27G [01:20<03:35, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.26G/4.27G [01:20<04:36, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  29%|██▉       | 1.26G/4.27G [01:20<06:18, 7.94MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.26G/4.27G [01:20<04:20, 11.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.26G/4.27G [01:21<05:29, 9.12MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.26G/4.27G [01:21<08:05, 6.18MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.27G/4.27G [01:21<05:48, 8.60MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.27G/4.27G [01:21<05:38, 8.86MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.27G/4.27G [01:21<05:49, 8.56MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.27G/4.27G [01:22<05:32, 9.00MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.27G/4.27G [01:22<05:31, 9.02MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.27G/4.27G [01:22<04:25, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.28G/4.27G [01:22<05:34, 8.93MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.28G/4.27G [01:22<04:04, 12.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|██▉       | 1.28G/4.27G [01:22<04:11, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.28G/4.27G [01:22<03:38, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.28G/4.27G [01:23<04:34, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.28G/4.27G [01:23<06:22, 7.80MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.29G/4.27G [01:23<05:39, 8.77MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.29G/4.27G [01:23<03:53, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.29G/4.27G [01:23<03:48, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.29G/4.27G [01:23<03:56, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.29G/4.27G [01:24<03:50, 12.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.30G/4.27G [01:24<03:17, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.30G/4.27G [01:24<02:53, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  30%|███       | 1.30G/4.27G [01:24<04:55, 10.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.30G/4.27G [01:24<05:50, 8.45MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.30G/4.27G [01:25<04:05, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.31G/4.27G [01:25<03:46, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.31G/4.27G [01:25<04:05, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.31G/4.27G [01:25<03:30, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.31G/4.27G [01:25<03:07, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.31G/4.27G [01:25<02:53, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.32G/4.27G [01:25<02:39, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.32G/4.27G [01:25<02:33, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.32G/4.27G [01:25<02:25, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.32G/4.27G [01:26<02:27, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.33G/4.27G [01:26<02:24, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.33G/4.27G [01:26<02:23, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.33G/4.27G [01:26<03:01, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███       | 1.33G/4.27G [01:26<02:56, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███▏      | 1.33G/4.27G [01:26<04:28, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███▏      | 1.34G/4.27G [01:26<03:22, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███▏      | 1.34G/4.27G [01:27<03:03, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███▏      | 1.34G/4.27G [01:27<03:41, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  31%|███▏      | 1.34G/4.27G [01:27<03:17, 14.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.34G/4.27G [01:27<04:45, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.35G/4.27G [01:27<03:52, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.35G/4.27G [01:27<02:55, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.35G/4.27G [01:27<02:27, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.36G/4.27G [01:28<02:29, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.36G/4.27G [01:28<02:08, 22.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.36G/4.27G [01:28<02:11, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.36G/4.27G [01:28<02:17, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.37G/4.27G [01:28<02:56, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.37G/4.27G [01:28<02:16, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.37G/4.27G [01:28<02:32, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.38G/4.27G [01:29<02:14, 21.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.38G/4.27G [01:29<01:55, 25.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  32%|███▏      | 1.38G/4.27G [01:29<01:57, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.39G/4.27G [01:29<01:32, 31.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.39G/4.27G [01:29<01:27, 32.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.40G/4.27G [01:29<01:32, 31.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.40G/4.27G [01:29<01:19, 36.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.40G/4.27G [01:29<01:13, 38.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.41G/4.27G [01:29<01:11, 39.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.41G/4.27G [01:30<01:16, 37.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.42G/4.27G [01:30<01:14, 38.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.42G/4.27G [01:30<01:11, 40.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  33%|███▎      | 1.43G/4.27G [01:30<01:11, 39.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▎      | 1.43G/4.27G [01:30<01:21, 34.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▎      | 1.43G/4.27G [01:30<01:27, 32.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.44G/4.27G [01:30<01:16, 36.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.44G/4.27G [01:30<01:12, 38.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.45G/4.27G [01:30<01:08, 41.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.45G/4.27G [01:31<01:08, 41.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.46G/4.27G [01:31<01:11, 39.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.46G/4.27G [01:31<01:09, 40.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.47G/4.27G [01:31<01:16, 36.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  34%|███▍      | 1.47G/4.27G [01:31<01:24, 33.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▍      | 1.47G/4.27G [01:31<01:20, 34.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▍      | 1.48G/4.27G [01:31<01:20, 34.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▍      | 1.48G/4.27G [01:31<01:21, 34.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▍      | 1.48G/4.27G [01:32<01:21, 34.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▍      | 1.49G/4.27G [01:32<01:21, 34.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▍      | 1.49G/4.27G [01:32<01:18, 35.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▌      | 1.50G/4.27G [01:32<01:18, 35.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▌      | 1.50G/4.27G [01:32<01:24, 32.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▌      | 1.50G/4.27G [01:32<02:03, 22.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▌      | 1.51G/4.27G [01:32<01:48, 25.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▌      | 1.51G/4.27G [01:32<01:53, 24.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  35%|███▌      | 1.51G/4.27G [01:33<01:44, 26.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.52G/4.27G [01:33<02:12, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.52G/4.27G [01:33<02:01, 22.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.52G/4.27G [01:33<02:15, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.52G/4.27G [01:33<02:10, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.53G/4.27G [01:33<02:17, 19.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.53G/4.27G [01:33<02:17, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.53G/4.27G [01:34<02:45, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.53G/4.27G [01:34<02:16, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.54G/4.27G [01:34<02:07, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.54G/4.27G [01:34<02:02, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.54G/4.27G [01:34<01:39, 27.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▌      | 1.55G/4.27G [01:34<01:33, 29.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▋      | 1.55G/4.27G [01:34<01:29, 30.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  36%|███▋      | 1.55G/4.27G [01:34<01:21, 33.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.56G/4.27G [01:34<01:18, 34.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.56G/4.27G [01:34<01:17, 34.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.56G/4.27G [01:35<01:23, 32.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.57G/4.27G [01:35<01:16, 35.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.57G/4.27G [01:35<01:32, 29.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.58G/4.27G [01:35<01:24, 31.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.58G/4.27G [01:35<01:21, 33.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.58G/4.27G [01:35<01:13, 36.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.59G/4.27G [01:35<01:15, 35.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.59G/4.27G [01:35<01:17, 34.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  37%|███▋      | 1.60G/4.27G [01:36<01:15, 35.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.60G/4.27G [01:36<01:08, 38.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.60G/4.27G [01:36<01:14, 35.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.61G/4.27G [01:36<01:19, 33.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.61G/4.27G [01:36<01:27, 30.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.61G/4.27G [01:36<01:53, 23.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.62G/4.27G [01:36<01:31, 29.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.62G/4.27G [01:36<01:25, 30.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.63G/4.27G [01:37<01:17, 33.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.63G/4.27G [01:37<01:12, 36.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.64G/4.27G [01:37<01:07, 39.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  38%|███▊      | 1.64G/4.27G [01:37<01:12, 36.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▊      | 1.64G/4.27G [01:37<01:20, 32.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▊      | 1.65G/4.27G [01:37<01:15, 34.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▊      | 1.65G/4.27G [01:38<02:14, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.66G/4.27G [01:38<01:58, 22.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.66G/4.27G [01:38<01:39, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.66G/4.27G [01:38<01:31, 28.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.67G/4.27G [01:38<01:26, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.67G/4.27G [01:38<01:37, 26.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.67G/4.27G [01:38<01:37, 26.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.68G/4.27G [01:38<01:35, 27.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.68G/4.27G [01:38<01:51, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  39%|███▉      | 1.68G/4.27G [01:39<01:31, 28.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|███▉      | 1.69G/4.27G [01:39<01:32, 28.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|███▉      | 1.69G/4.27G [01:39<01:49, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|███▉      | 1.69G/4.27G [01:39<02:14, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|███▉      | 1.70G/4.27G [01:39<01:44, 24.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|███▉      | 1.70G/4.27G [01:39<01:40, 25.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|███▉      | 1.70G/4.27G [01:39<01:34, 27.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|████      | 1.71G/4.27G [01:40<01:19, 32.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|████      | 1.71G/4.27G [01:40<01:11, 35.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|████      | 1.72G/4.27G [01:40<01:09, 36.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|████      | 1.72G/4.27G [01:40<01:12, 34.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  40%|████      | 1.73G/4.27G [01:40<01:09, 36.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.73G/4.27G [01:40<01:11, 35.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.73G/4.27G [01:40<01:18, 32.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.74G/4.27G [01:40<01:47, 23.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.74G/4.27G [01:41<01:38, 25.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.74G/4.27G [01:41<01:30, 28.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.75G/4.27G [01:41<01:18, 32.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.75G/4.27G [01:41<01:12, 34.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████      | 1.76G/4.27G [01:41<01:14, 33.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████▏     | 1.76G/4.27G [01:41<01:09, 35.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████▏     | 1.76G/4.27G [01:41<01:09, 36.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  41%|████▏     | 1.77G/4.27G [01:41<01:06, 37.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.77G/4.27G [01:41<01:02, 39.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.78G/4.27G [01:41<01:03, 39.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.78G/4.27G [01:42<02:09, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.78G/4.27G [01:42<02:04, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.79G/4.27G [01:42<01:56, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.79G/4.27G [01:42<02:24, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.79G/4.27G [01:43<02:53, 14.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.79G/4.27G [01:43<02:23, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.80G/4.27G [01:43<02:36, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.80G/4.27G [01:43<02:25, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.80G/4.27G [01:43<03:33, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.80G/4.27G [01:44<02:52, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.81G/4.27G [01:44<02:20, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  42%|████▏     | 1.81G/4.27G [01:44<01:57, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.81G/4.27G [01:44<02:30, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.82G/4.27G [01:44<02:01, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.82G/4.27G [01:45<03:12, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.82G/4.27G [01:45<02:41, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.82G/4.27G [01:45<02:50, 14.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.83G/4.27G [01:45<02:29, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.83G/4.27G [01:45<02:13, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.83G/4.27G [01:45<01:49, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.84G/4.27G [01:45<01:51, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.84G/4.27G [01:45<01:39, 24.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.84G/4.27G [01:46<02:40, 15.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.84G/4.27G [01:46<03:02, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.85G/4.27G [01:46<02:56, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.85G/4.27G [01:46<02:57, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.85G/4.27G [01:46<02:34, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  43%|████▎     | 1.85G/4.27G [01:46<01:58, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▎     | 1.86G/4.27G [01:47<01:57, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▎     | 1.86G/4.27G [01:47<01:55, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▎     | 1.86G/4.27G [01:47<01:52, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▎     | 1.86G/4.27G [01:47<01:41, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.87G/4.27G [01:47<01:48, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.87G/4.27G [01:47<01:37, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.87G/4.27G [01:47<01:36, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.88G/4.27G [01:47<02:25, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.88G/4.27G [01:48<02:49, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.88G/4.27G [01:48<03:12, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.88G/4.27G [01:48<02:25, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.89G/4.27G [01:48<02:53, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.89G/4.27G [01:48<02:10, 18.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.89G/4.27G [01:49<02:03, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.90G/4.27G [01:49<02:05, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  44%|████▍     | 1.90G/4.27G [01:49<02:31, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.90G/4.27G [01:49<02:05, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.90G/4.27G [01:49<02:01, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.91G/4.27G [01:49<01:44, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.91G/4.27G [01:50<03:14, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.91G/4.27G [01:50<03:10, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.91G/4.27G [01:50<02:29, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.92G/4.27G [01:50<02:13, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▍     | 1.92G/4.27G [01:50<02:14, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.92G/4.27G [01:50<02:17, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.92G/4.27G [01:51<02:58, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.93G/4.27G [01:51<02:28, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.93G/4.27G [01:51<02:25, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.93G/4.27G [01:51<02:05, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.93G/4.27G [01:51<02:06, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.93G/4.27G [01:51<01:54, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.94G/4.27G [01:51<02:27, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  45%|████▌     | 1.94G/4.27G [01:51<02:11, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.94G/4.27G [01:52<02:54, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.94G/4.27G [01:52<02:16, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.95G/4.27G [01:52<02:17, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.95G/4.27G [01:52<02:04, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.95G/4.27G [01:52<01:48, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.95G/4.27G [01:52<02:21, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.96G/4.27G [01:52<02:11, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.96G/4.27G [01:53<03:33, 10.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.96G/4.27G [01:53<02:51, 13.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.96G/4.27G [01:53<02:53, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.97G/4.27G [01:53<03:10, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.97G/4.27G [01:53<02:45, 13.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.97G/4.27G [01:54<03:41, 10.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▌     | 1.97G/4.27G [01:54<02:59, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.97G/4.27G [01:54<04:42, 8.12MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.97G/4.27G [01:54<05:02, 7.56MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.98G/4.27G [01:54<04:00, 9.53MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.98G/4.27G [01:55<04:13, 9.01MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.98G/4.27G [01:55<04:06, 9.27MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.98G/4.27G [01:55<03:33, 10.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  46%|████▋     | 1.98G/4.27G [01:55<02:57, 12.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 1.98G/4.27G [01:55<02:53, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 1.99G/4.27G [01:55<02:48, 13.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 1.99G/4.27G [01:55<02:22, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 1.99G/4.27G [01:55<02:19, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 1.99G/4.27G [01:55<02:12, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 1.99G/4.27G [01:56<02:25, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.00G/4.27G [01:56<02:17, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.00G/4.27G [01:56<02:08, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.00G/4.27G [01:56<02:29, 15.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.00G/4.27G [01:56<02:12, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.00G/4.27G [01:56<02:23, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.01G/4.27G [01:56<02:05, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.01G/4.27G [01:56<01:55, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.01G/4.27G [01:57<01:50, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.01G/4.27G [01:57<03:47, 9.90MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.01G/4.27G [01:57<04:29, 8.35MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.02G/4.27G [01:57<03:23, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.02G/4.27G [01:58<03:00, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.02G/4.27G [01:58<03:05, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  47%|████▋     | 2.02G/4.27G [01:58<02:23, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.03G/4.27G [01:58<02:27, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.03G/4.27G [01:58<03:09, 11.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.03G/4.27G [01:58<02:20, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.03G/4.27G [01:58<02:08, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.04G/4.27G [01:58<02:00, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.04G/4.27G [01:59<01:52, 19.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.04G/4.27G [01:59<01:56, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.04G/4.27G [01:59<01:44, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.05G/4.27G [01:59<01:43, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.05G/4.27G [01:59<01:37, 22.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.05G/4.27G [01:59<03:14, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.05G/4.27G [02:00<02:48, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.05G/4.27G [02:00<03:10, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.06G/4.27G [02:00<02:42, 13.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.06G/4.27G [02:00<02:42, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.06G/4.27G [02:00<02:25, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.06G/4.27G [02:00<02:47, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.06G/4.27G [02:00<02:30, 14.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.07G/4.27G [02:01<03:03, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  48%|████▊     | 2.07G/4.27G [02:01<03:22, 10.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.07G/4.27G [02:01<05:08, 7.12MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.07G/4.27G [02:01<04:32, 8.05MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.07G/4.27G [02:01<04:08, 8.82MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.07G/4.27G [02:01<04:00, 9.11MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.07G/4.27G [02:02<03:28, 10.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.08G/4.27G [02:02<03:20, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.08G/4.27G [02:02<03:23, 10.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▊     | 2.08G/4.27G [02:02<05:18, 6.86MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.08G/4.27G [02:02<03:07, 11.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.08G/4.27G [02:02<03:05, 11.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.08G/4.27G [02:02<03:03, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.09G/4.27G [02:03<02:38, 13.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.09G/4.27G [02:03<02:10, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.09G/4.27G [02:03<02:01, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.09G/4.27G [02:03<02:00, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.09G/4.27G [02:03<02:03, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.10G/4.27G [02:03<01:46, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.10G/4.27G [02:03<01:44, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.10G/4.27G [02:03<01:47, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.10G/4.27G [02:03<01:41, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.11G/4.27G [02:04<01:45, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  49%|████▉     | 2.11G/4.27G [02:04<02:53, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.11G/4.27G [02:04<02:14, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.11G/4.27G [02:04<02:18, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.12G/4.27G [02:05<03:30, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.12G/4.27G [02:05<02:34, 13.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.12G/4.27G [02:05<02:14, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.12G/4.27G [02:05<01:59, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.13G/4.27G [02:05<01:50, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.13G/4.27G [02:05<01:37, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|████▉     | 2.13G/4.27G [02:05<01:33, 22.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.13G/4.27G [02:05<01:40, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.14G/4.27G [02:06<02:22, 14.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.14G/4.27G [02:06<02:07, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.14G/4.27G [02:06<02:57, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.14G/4.27G [02:06<02:16, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.15G/4.27G [02:06<02:15, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.15G/4.27G [02:06<02:51, 12.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.15G/4.27G [02:07<02:33, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  50%|█████     | 2.15G/4.27G [02:07<02:09, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.15G/4.27G [02:07<02:23, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.16G/4.27G [02:07<02:10, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.16G/4.27G [02:07<02:27, 14.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.16G/4.27G [02:07<01:58, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.16G/4.27G [02:07<02:08, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.17G/4.27G [02:07<01:31, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.17G/4.27G [02:08<01:32, 22.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.17G/4.27G [02:08<01:28, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.18G/4.27G [02:08<01:28, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.18G/4.27G [02:08<02:03, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████     | 2.18G/4.27G [02:08<01:30, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████▏    | 2.19G/4.27G [02:08<01:24, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████▏    | 2.19G/4.27G [02:08<01:24, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████▏    | 2.19G/4.27G [02:08<01:18, 26.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  51%|█████▏    | 2.20G/4.27G [02:09<01:29, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.20G/4.27G [02:09<01:15, 27.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.20G/4.27G [02:09<01:13, 27.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.21G/4.27G [02:09<01:16, 26.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.21G/4.27G [02:09<01:36, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.21G/4.27G [02:09<01:28, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.21G/4.27G [02:10<02:09, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.22G/4.27G [02:10<02:00, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.22G/4.27G [02:10<01:53, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.22G/4.27G [02:10<01:48, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.22G/4.27G [02:10<03:01, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.22G/4.27G [02:10<02:41, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.23G/4.27G [02:11<03:16, 10.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.23G/4.27G [02:11<02:18, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.23G/4.27G [02:11<03:00, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.23G/4.27G [02:11<02:12, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  52%|█████▏    | 2.24G/4.27G [02:11<02:09, 15.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.24G/4.27G [02:11<01:49, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.24G/4.27G [02:11<01:44, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.24G/4.27G [02:12<02:42, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.25G/4.27G [02:12<02:59, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.25G/4.27G [02:12<02:34, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.25G/4.27G [02:12<02:10, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.25G/4.27G [02:12<01:46, 18.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.26G/4.27G [02:12<01:45, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.26G/4.27G [02:12<01:30, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.26G/4.27G [02:13<01:30, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.26G/4.27G [02:13<01:54, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.27G/4.27G [02:13<01:49, 18.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.27G/4.27G [02:13<02:15, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.27G/4.27G [02:13<01:52, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.27G/4.27G [02:14<02:31, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.28G/4.27G [02:14<01:56, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.28G/4.27G [02:14<01:46, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  53%|█████▎    | 2.28G/4.27G [02:14<01:45, 18.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▎    | 2.28G/4.27G [02:14<02:19, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▎    | 2.29G/4.27G [02:14<02:01, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▎    | 2.29G/4.27G [02:14<01:53, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▎    | 2.29G/4.27G [02:14<01:56, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.29G/4.27G [02:15<01:31, 21.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.30G/4.27G [02:15<01:42, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.30G/4.27G [02:15<01:19, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.30G/4.27G [02:15<01:18, 25.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.31G/4.27G [02:15<01:21, 24.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.31G/4.27G [02:15<01:27, 22.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.31G/4.27G [02:15<01:21, 24.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.32G/4.27G [02:15<01:11, 27.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.32G/4.27G [02:15<01:06, 29.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  54%|█████▍    | 2.32G/4.27G [02:16<01:08, 28.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.33G/4.27G [02:16<01:19, 24.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.33G/4.27G [02:16<01:16, 25.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.33G/4.27G [02:16<01:11, 27.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.33G/4.27G [02:16<01:22, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.34G/4.27G [02:16<02:05, 15.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.34G/4.27G [02:17<01:44, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.34G/4.27G [02:17<02:00, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▍    | 2.34G/4.27G [02:17<01:55, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.35G/4.27G [02:17<02:23, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.35G/4.27G [02:17<01:54, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.35G/4.27G [02:17<01:57, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.36G/4.27G [02:17<01:35, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.36G/4.27G [02:18<01:31, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.36G/4.27G [02:18<01:33, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.36G/4.27G [02:18<01:22, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  55%|█████▌    | 2.37G/4.27G [02:18<01:28, 21.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.37G/4.27G [02:18<01:26, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.37G/4.27G [02:18<01:16, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.37G/4.27G [02:18<01:08, 27.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.38G/4.27G [02:18<01:13, 25.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.38G/4.27G [02:18<01:18, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.38G/4.27G [02:19<01:20, 23.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.38G/4.27G [02:19<01:43, 18.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.39G/4.27G [02:19<01:25, 22.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.39G/4.27G [02:19<01:30, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.39G/4.27G [02:19<01:20, 23.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▌    | 2.40G/4.27G [02:19<01:11, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▋    | 2.40G/4.27G [02:19<01:07, 27.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▋    | 2.40G/4.27G [02:19<01:06, 28.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▋    | 2.41G/4.27G [02:20<01:05, 28.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  56%|█████▋    | 2.41G/4.27G [02:20<01:49, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.41G/4.27G [02:20<01:34, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.41G/4.27G [02:20<02:06, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.42G/4.27G [02:21<02:39, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.42G/4.27G [02:21<02:05, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.42G/4.27G [02:21<01:59, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.42G/4.27G [02:21<01:51, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.43G/4.27G [02:21<01:39, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.43G/4.27G [02:21<01:42, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.43G/4.27G [02:21<01:29, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.44G/4.27G [02:21<01:17, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.44G/4.27G [02:21<01:23, 21.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.44G/4.27G [02:22<01:48, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.44G/4.27G [02:22<01:52, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.44G/4.27G [02:22<02:40, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.45G/4.27G [02:22<02:36, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.45G/4.27G [02:22<03:10, 9.57MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.45G/4.27G [02:23<02:22, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  57%|█████▋    | 2.45G/4.27G [02:23<02:44, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.45G/4.27G [02:23<02:07, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.46G/4.27G [02:23<03:03, 9.86MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.46G/4.27G [02:23<02:26, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.46G/4.27G [02:24<04:27, 6.75MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.46G/4.27G [02:24<04:55, 6.10MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.46G/4.27G [02:24<03:22, 8.89MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.47G/4.27G [02:25<03:50, 7.82MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.47G/4.27G [02:25<02:48, 10.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.47G/4.27G [02:25<02:44, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.47G/4.27G [02:25<02:38, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.47G/4.27G [02:25<02:26, 12.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.47G/4.27G [02:25<02:29, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.48G/4.27G [02:25<02:24, 12.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.48G/4.27G [02:25<02:20, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.48G/4.27G [02:25<02:17, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.48G/4.27G [02:26<02:13, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.48G/4.27G [02:26<02:34, 11.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.48G/4.27G [02:26<02:06, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.49G/4.27G [02:26<02:02, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.49G/4.27G [02:26<02:03, 14.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.49G/4.27G [02:26<01:46, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.49G/4.27G [02:27<04:18, 6.88MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  58%|█████▊    | 2.49G/4.27G [02:27<03:10, 9.28MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▊    | 2.50G/4.27G [02:27<02:41, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▊    | 2.50G/4.27G [02:27<02:23, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▊    | 2.50G/4.27G [02:27<02:04, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▊    | 2.50G/4.27G [02:27<01:52, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▊    | 2.50G/4.27G [02:27<01:42, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▊    | 2.51G/4.27G [02:28<02:03, 14.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.51G/4.27G [02:28<01:57, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.51G/4.27G [02:28<01:40, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.51G/4.27G [02:28<01:34, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.51G/4.27G [02:28<01:28, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.52G/4.27G [02:28<01:20, 21.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.52G/4.27G [02:28<01:19, 21.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.52G/4.27G [02:28<01:38, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.53G/4.27G [02:28<01:15, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.53G/4.27G [02:29<01:12, 24.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.53G/4.27G [02:29<01:09, 25.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.53G/4.27G [02:29<01:08, 25.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  59%|█████▉    | 2.54G/4.27G [02:29<01:06, 25.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.54G/4.27G [02:29<01:06, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.54G/4.27G [02:29<01:21, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.55G/4.27G [02:29<01:29, 19.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.55G/4.27G [02:29<01:13, 23.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.55G/4.27G [02:30<01:13, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.56G/4.27G [02:30<01:06, 25.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|█████▉    | 2.56G/4.27G [02:30<01:02, 27.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|██████    | 2.56G/4.27G [02:30<00:59, 28.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|██████    | 2.57G/4.27G [02:30<00:58, 28.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|██████    | 2.57G/4.27G [02:30<00:55, 30.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|██████    | 2.57G/4.27G [02:30<00:55, 30.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|██████    | 2.58G/4.27G [02:30<00:54, 30.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  60%|██████    | 2.58G/4.27G [02:30<00:53, 31.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.58G/4.27G [02:31<00:51, 32.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.59G/4.27G [02:31<00:51, 32.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.59G/4.27G [02:31<00:50, 33.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.59G/4.27G [02:31<00:54, 30.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.60G/4.27G [02:31<00:52, 31.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.60G/4.27G [02:31<00:50, 32.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.60G/4.27G [02:31<00:50, 33.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.61G/4.27G [02:31<00:49, 33.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████    | 2.61G/4.27G [02:31<00:49, 33.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████▏   | 2.61G/4.27G [02:31<00:48, 33.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████▏   | 2.62G/4.27G [02:32<00:48, 34.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████▏   | 2.62G/4.27G [02:32<00:53, 30.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  61%|██████▏   | 2.62G/4.27G [02:32<01:03, 25.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.63G/4.27G [02:32<01:19, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.63G/4.27G [02:32<01:05, 25.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.63G/4.27G [02:32<01:00, 27.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.64G/4.27G [02:32<00:57, 28.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.64G/4.27G [02:32<00:53, 30.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.64G/4.27G [02:33<01:01, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.65G/4.27G [02:33<00:59, 27.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.65G/4.27G [02:33<01:09, 23.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.65G/4.27G [02:33<00:58, 27.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.66G/4.27G [02:33<00:58, 27.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.66G/4.27G [02:33<00:55, 29.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  62%|██████▏   | 2.66G/4.27G [02:33<00:53, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.67G/4.27G [02:33<00:55, 29.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.67G/4.27G [02:34<00:56, 28.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.67G/4.27G [02:34<00:53, 29.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.68G/4.27G [02:34<00:52, 30.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.68G/4.27G [02:34<00:51, 30.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.68G/4.27G [02:34<00:52, 30.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.68G/4.27G [02:34<00:53, 29.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.69G/4.27G [02:34<00:52, 30.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.69G/4.27G [02:34<00:52, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.69G/4.27G [02:34<01:09, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.70G/4.27G [02:35<01:03, 24.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.70G/4.27G [02:35<01:10, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.70G/4.27G [02:35<01:37, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.71G/4.27G [02:35<01:26, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  63%|██████▎   | 2.71G/4.27G [02:35<01:33, 16.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▎   | 2.71G/4.27G [02:35<01:37, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▎   | 2.71G/4.27G [02:36<01:44, 14.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▎   | 2.71G/4.27G [02:36<01:36, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▎   | 2.72G/4.27G [02:36<01:29, 17.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▎   | 2.72G/4.27G [02:36<01:26, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.72G/4.27G [02:36<01:24, 18.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.72G/4.27G [02:36<01:40, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.72G/4.27G [02:36<01:27, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.73G/4.27G [02:36<01:34, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.73G/4.27G [02:36<01:23, 18.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.73G/4.27G [02:37<03:24, 7.50MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.73G/4.27G [02:37<02:30, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.73G/4.27G [02:37<02:30, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.74G/4.27G [02:38<02:18, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.74G/4.27G [02:38<02:09, 11.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.74G/4.27G [02:38<02:10, 11.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.74G/4.27G [02:38<02:14, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.74G/4.27G [02:38<01:53, 13.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.74G/4.27G [02:38<02:02, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.75G/4.27G [02:38<01:43, 14.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.75G/4.27G [02:38<01:44, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  64%|██████▍   | 2.75G/4.27G [02:39<01:37, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.75G/4.27G [02:39<01:50, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.75G/4.27G [02:39<01:27, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.76G/4.27G [02:39<01:28, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.76G/4.27G [02:39<01:28, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.76G/4.27G [02:39<01:28, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.76G/4.27G [02:39<01:28, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.76G/4.27G [02:39<01:23, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.77G/4.27G [02:39<01:21, 18.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.77G/4.27G [02:39<01:20, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.77G/4.27G [02:40<01:17, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▍   | 2.77G/4.27G [02:40<01:20, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.77G/4.27G [02:40<01:21, 18.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.78G/4.27G [02:40<01:19, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.78G/4.27G [02:40<01:22, 18.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.78G/4.27G [02:40<01:11, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.78G/4.27G [02:40<01:15, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.78G/4.27G [02:40<01:11, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.79G/4.27G [02:40<01:12, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.79G/4.27G [02:41<01:02, 23.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  65%|██████▌   | 2.79G/4.27G [02:41<01:02, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.80G/4.27G [02:41<01:00, 24.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.80G/4.27G [02:41<00:57, 25.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.80G/4.27G [02:41<00:57, 25.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.80G/4.27G [02:41<00:56, 25.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.81G/4.27G [02:41<00:55, 26.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.81G/4.27G [02:41<00:53, 27.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.81G/4.27G [02:41<00:51, 28.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.82G/4.27G [02:41<00:51, 28.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.82G/4.27G [02:42<01:29, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.82G/4.27G [02:42<02:01, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.82G/4.27G [02:42<01:35, 15.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▌   | 2.83G/4.27G [02:43<02:09, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▋   | 2.83G/4.27G [02:43<01:54, 12.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▋   | 2.83G/4.27G [02:43<02:00, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▋   | 2.83G/4.27G [02:43<01:33, 15.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  66%|██████▋   | 2.83G/4.27G [02:43<01:25, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.84G/4.27G [02:43<01:22, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.84G/4.27G [02:43<01:07, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.84G/4.27G [02:44<01:28, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.85G/4.27G [02:44<01:07, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.85G/4.27G [02:44<01:05, 21.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.85G/4.27G [02:44<01:02, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.85G/4.27G [02:44<01:23, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.86G/4.27G [02:44<01:11, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.86G/4.27G [02:44<01:11, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.86G/4.27G [02:44<00:58, 24.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.87G/4.27G [02:45<00:56, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.87G/4.27G [02:45<00:49, 28.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.87G/4.27G [02:45<00:46, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  67%|██████▋   | 2.88G/4.27G [02:45<00:56, 24.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.88G/4.27G [02:45<00:51, 26.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.88G/4.27G [02:45<00:56, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.89G/4.27G [02:45<00:56, 24.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.89G/4.27G [02:45<00:53, 25.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.89G/4.27G [02:46<01:00, 22.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.89G/4.27G [02:46<00:58, 23.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.90G/4.27G [02:46<00:58, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.90G/4.27G [02:46<00:53, 25.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.90G/4.27G [02:46<01:01, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.91G/4.27G [02:46<00:52, 25.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.91G/4.27G [02:46<01:05, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.91G/4.27G [02:47<01:27, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.91G/4.27G [02:47<01:07, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.92G/4.27G [02:47<01:06, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  68%|██████▊   | 2.92G/4.27G [02:47<00:58, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▊   | 2.92G/4.27G [02:47<00:56, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▊   | 2.93G/4.27G [02:47<00:48, 27.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▊   | 2.93G/4.27G [02:47<00:50, 26.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.93G/4.27G [02:47<00:49, 26.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.94G/4.27G [02:47<00:46, 28.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.94G/4.27G [02:48<00:52, 25.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.94G/4.27G [02:48<00:44, 29.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.95G/4.27G [02:48<00:42, 31.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.95G/4.27G [02:48<00:41, 31.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.95G/4.27G [02:48<00:40, 32.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.96G/4.27G [02:48<00:37, 34.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  69%|██████▉   | 2.96G/4.27G [02:48<00:38, 34.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|██████▉   | 2.97G/4.27G [02:48<00:37, 34.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|██████▉   | 2.97G/4.27G [02:48<00:36, 36.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|██████▉   | 2.97G/4.27G [02:49<00:35, 36.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|██████▉   | 2.98G/4.27G [02:49<00:35, 36.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|██████▉   | 2.98G/4.27G [02:49<00:35, 36.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|██████▉   | 2.98G/4.27G [02:49<00:36, 35.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|███████   | 2.99G/4.27G [02:49<00:39, 32.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|███████   | 2.99G/4.27G [02:49<00:40, 31.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|███████   | 2.99G/4.27G [02:49<00:39, 32.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|███████   | 3.00G/4.27G [02:49<00:41, 30.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|███████   | 3.00G/4.27G [02:49<00:37, 33.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  70%|███████   | 3.01G/4.27G [02:49<00:36, 34.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.01G/4.27G [02:50<00:34, 36.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.01G/4.27G [02:50<00:37, 33.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.02G/4.27G [02:50<00:37, 33.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.02G/4.27G [02:50<00:40, 31.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.02G/4.27G [02:50<00:40, 30.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.03G/4.27G [02:50<00:39, 31.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.03G/4.27G [02:50<00:41, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.03G/4.27G [02:50<00:37, 32.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████   | 3.04G/4.27G [02:50<00:36, 33.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████▏  | 3.04G/4.27G [02:51<00:35, 34.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  71%|███████▏  | 3.05G/4.27G [02:51<00:33, 36.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.05G/4.27G [02:51<00:31, 38.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.05G/4.27G [02:51<00:32, 37.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.06G/4.27G [02:51<00:35, 34.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.06G/4.27G [02:51<00:40, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.07G/4.27G [02:51<00:36, 33.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.07G/4.27G [02:51<00:35, 34.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.07G/4.27G [02:51<00:34, 35.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.08G/4.27G [02:52<00:36, 32.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.08G/4.27G [02:52<00:33, 35.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.08G/4.27G [02:52<00:32, 35.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.09G/4.27G [02:52<00:33, 35.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  72%|███████▏  | 3.09G/4.27G [02:52<00:45, 26.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.09G/4.27G [02:52<00:44, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.10G/4.27G [02:52<00:44, 26.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.10G/4.27G [02:52<00:46, 25.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.10G/4.27G [02:53<00:42, 27.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.11G/4.27G [02:53<00:40, 28.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.11G/4.27G [02:53<00:46, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.11G/4.27G [02:53<00:41, 27.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.12G/4.27G [02:53<00:37, 30.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.12G/4.27G [02:53<00:35, 31.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.12G/4.27G [02:53<00:57, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.13G/4.27G [02:54<00:53, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.13G/4.27G [02:54<00:52, 21.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.13G/4.27G [02:54<01:04, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  73%|███████▎  | 3.13G/4.27G [02:54<00:57, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▎  | 3.14G/4.27G [02:54<00:47, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▎  | 3.14G/4.27G [02:54<00:49, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▎  | 3.15G/4.27G [02:54<00:43, 25.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.15G/4.27G [02:55<00:54, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.15G/4.27G [02:55<00:52, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.15G/4.27G [02:55<01:05, 17.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.15G/4.27G [02:55<01:19, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.16G/4.27G [02:55<00:59, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.16G/4.27G [02:55<01:01, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.16G/4.27G [02:55<01:04, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.17G/4.27G [02:56<00:55, 19.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.17G/4.27G [02:56<00:42, 26.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  74%|███████▍  | 3.17G/4.27G [02:56<00:39, 27.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▍  | 3.18G/4.27G [02:56<00:36, 29.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▍  | 3.18G/4.27G [02:56<00:35, 30.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▍  | 3.18G/4.27G [02:56<00:33, 32.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▍  | 3.19G/4.27G [02:56<00:33, 32.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▍  | 3.19G/4.27G [02:56<00:31, 33.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▍  | 3.20G/4.27G [02:56<00:31, 33.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.20G/4.27G [02:57<00:30, 35.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.20G/4.27G [02:57<00:57, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.21G/4.27G [02:57<01:13, 14.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.21G/4.27G [02:57<01:01, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.21G/4.27G [02:58<01:27, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.21G/4.27G [02:58<01:50, 9.54MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.22G/4.27G [02:58<01:32, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.22G/4.27G [02:59<02:08, 8.15MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  75%|███████▌  | 3.22G/4.27G [02:59<01:45, 9.93MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.22G/4.27G [02:59<01:35, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.22G/4.27G [02:59<01:30, 11.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.22G/4.27G [02:59<01:26, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.23G/4.27G [02:59<01:19, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.23G/4.27G [02:59<01:09, 14.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.23G/4.27G [02:59<01:04, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.23G/4.27G [02:59<01:02, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.23G/4.27G [03:00<01:01, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.24G/4.27G [03:00<01:02, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.24G/4.27G [03:00<01:06, 15.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.24G/4.27G [03:00<01:58, 8.69MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.24G/4.27G [03:00<01:44, 9.75MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.24G/4.27G [03:01<01:27, 11.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.25G/4.27G [03:01<01:14, 13.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.25G/4.27G [03:01<01:05, 15.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▌  | 3.25G/4.27G [03:01<01:02, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▋  | 3.25G/4.27G [03:01<00:54, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▋  | 3.25G/4.27G [03:01<00:58, 17.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▋  | 3.26G/4.27G [03:01<00:56, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▋  | 3.26G/4.27G [03:01<01:02, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  76%|███████▋  | 3.26G/4.27G [03:01<00:47, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.26G/4.27G [03:02<00:50, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.27G/4.27G [03:02<00:49, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.27G/4.27G [03:02<01:15, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.27G/4.27G [03:02<00:57, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.27G/4.27G [03:02<01:36, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.28G/4.27G [03:03<01:33, 10.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.28G/4.27G [03:03<01:10, 13.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.28G/4.27G [03:03<01:16, 12.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.28G/4.27G [03:03<01:46, 9.20MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.28G/4.27G [03:03<01:30, 10.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.29G/4.27G [03:04<02:04, 7.85MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.29G/4.27G [03:04<02:49, 5.76MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.29G/4.27G [03:04<03:17, 4.95MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.29G/4.27G [03:05<02:12, 7.35MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.29G/4.27G [03:05<01:55, 8.39MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.29G/4.27G [03:05<04:01, 4.02MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.30G/4.27G [03:06<02:38, 6.11MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.30G/4.27G [03:06<02:22, 6.82MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.30G/4.27G [03:06<02:08, 7.53MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.30G/4.27G [03:06<01:35, 10.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.30G/4.27G [03:06<01:27, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.30G/4.27G [03:06<01:20, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  77%|███████▋  | 3.31G/4.27G [03:06<01:13, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.31G/4.27G [03:07<02:16, 7.04MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.31G/4.27G [03:07<01:31, 10.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.31G/4.27G [03:07<01:33, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.31G/4.27G [03:07<01:27, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.31G/4.27G [03:07<01:52, 8.47MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.32G/4.27G [03:07<01:16, 12.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.32G/4.27G [03:08<01:24, 11.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.32G/4.27G [03:08<01:12, 12.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.32G/4.27G [03:08<01:17, 12.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.32G/4.27G [03:08<01:18, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.33G/4.27G [03:08<01:20, 11.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.33G/4.27G [03:08<01:43, 9.02MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.33G/4.27G [03:09<01:26, 10.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.33G/4.27G [03:09<00:58, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.33G/4.27G [03:09<01:01, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.34G/4.27G [03:09<01:05, 14.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.34G/4.27G [03:09<00:52, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.34G/4.27G [03:09<00:57, 16.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.34G/4.27G [03:10<01:34, 9.80MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.35G/4.27G [03:10<01:10, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  78%|███████▊  | 3.35G/4.27G [03:10<01:52, 8.15MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▊  | 3.35G/4.27G [03:10<01:36, 9.46MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▊  | 3.35G/4.27G [03:11<01:59, 7.62MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▊  | 3.35G/4.27G [03:11<01:20, 11.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▊  | 3.36G/4.27G [03:11<01:20, 11.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▊  | 3.36G/4.27G [03:11<01:12, 12.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.36G/4.27G [03:11<01:09, 13.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.36G/4.27G [03:11<01:08, 13.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.36G/4.27G [03:11<01:10, 12.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.36G/4.27G [03:11<01:12, 12.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.37G/4.27G [03:12<01:47, 8.34MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.37G/4.27G [03:12<01:21, 11.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.37G/4.27G [03:12<01:15, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.37G/4.27G [03:12<01:15, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.37G/4.27G [03:12<01:13, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.37G/4.27G [03:12<01:03, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.38G/4.27G [03:12<00:59, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.38G/4.27G [03:13<00:55, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.38G/4.27G [03:13<00:54, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.38G/4.27G [03:13<00:50, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.38G/4.27G [03:13<00:48, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.39G/4.27G [03:13<00:46, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.39G/4.27G [03:13<00:44, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  79%|███████▉  | 3.39G/4.27G [03:13<00:42, 20.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.39G/4.27G [03:13<00:40, 21.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.40G/4.27G [03:13<00:40, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.40G/4.27G [03:13<00:38, 22.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.40G/4.27G [03:14<00:36, 24.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.40G/4.27G [03:14<00:35, 24.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.41G/4.27G [03:14<00:32, 26.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|███████▉  | 3.41G/4.27G [03:14<00:42, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.41G/4.27G [03:14<00:33, 25.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.42G/4.27G [03:14<00:32, 26.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.42G/4.27G [03:14<00:31, 27.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.42G/4.27G [03:14<00:29, 29.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.43G/4.27G [03:14<00:27, 30.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.43G/4.27G [03:15<00:28, 29.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  80%|████████  | 3.43G/4.27G [03:15<00:40, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.44G/4.27G [03:15<00:34, 23.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.44G/4.27G [03:15<00:35, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.44G/4.27G [03:15<00:37, 22.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.45G/4.27G [03:15<00:31, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.45G/4.27G [03:15<00:30, 26.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.45G/4.27G [03:15<00:27, 29.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.46G/4.27G [03:16<00:26, 30.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.46G/4.27G [03:16<00:25, 31.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.46G/4.27G [03:16<00:26, 30.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████  | 3.46G/4.27G [03:16<00:27, 28.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████▏ | 3.47G/4.27G [03:16<00:28, 28.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████▏ | 3.47G/4.27G [03:16<00:27, 28.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  81%|████████▏ | 3.47G/4.27G [03:16<00:28, 27.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.48G/4.27G [03:16<00:34, 22.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.48G/4.27G [03:17<00:34, 22.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.48G/4.27G [03:17<00:39, 19.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.48G/4.27G [03:17<00:35, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.49G/4.27G [03:17<00:33, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.49G/4.27G [03:17<00:30, 25.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.49G/4.27G [03:17<00:28, 27.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.50G/4.27G [03:17<00:26, 29.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.50G/4.27G [03:17<00:23, 32.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.50G/4.27G [03:17<00:24, 31.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.51G/4.27G [03:18<00:35, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.51G/4.27G [03:18<00:32, 23.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.51G/4.27G [03:18<00:30, 24.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  82%|████████▏ | 3.52G/4.27G [03:18<00:34, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.52G/4.27G [03:18<00:29, 25.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.52G/4.27G [03:18<00:35, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.53G/4.27G [03:18<00:31, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.53G/4.27G [03:19<00:41, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.53G/4.27G [03:19<00:37, 19.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.53G/4.27G [03:19<00:44, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.54G/4.27G [03:19<00:39, 18.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.54G/4.27G [03:19<00:40, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.54G/4.27G [03:19<00:34, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.54G/4.27G [03:19<00:32, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.55G/4.27G [03:20<00:34, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.55G/4.27G [03:20<00:29, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.55G/4.27G [03:20<00:29, 24.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.56G/4.27G [03:20<00:31, 22.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.56G/4.27G [03:20<00:41, 17.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  83%|████████▎ | 3.56G/4.27G [03:20<00:32, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▎ | 3.56G/4.27G [03:21<00:43, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▎ | 3.57G/4.27G [03:21<00:34, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▎ | 3.57G/4.27G [03:21<00:34, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.57G/4.27G [03:21<00:33, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.57G/4.27G [03:21<00:32, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.58G/4.27G [03:21<00:31, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.58G/4.27G [03:21<00:32, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.58G/4.27G [03:21<00:27, 25.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.59G/4.27G [03:21<00:27, 24.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.59G/4.27G [03:22<00:32, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.59G/4.27G [03:22<00:26, 25.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.60G/4.27G [03:22<00:30, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.60G/4.27G [03:22<00:29, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.60G/4.27G [03:22<00:28, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  84%|████████▍ | 3.60G/4.27G [03:22<00:27, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.61G/4.27G [03:22<00:26, 25.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.61G/4.27G [03:22<00:25, 26.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.61G/4.27G [03:22<00:23, 27.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.61G/4.27G [03:23<00:24, 26.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.62G/4.27G [03:23<00:22, 28.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.62G/4.27G [03:23<00:22, 29.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▍ | 3.62G/4.27G [03:23<00:21, 29.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▌ | 3.63G/4.27G [03:23<00:21, 30.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▌ | 3.63G/4.27G [03:23<00:20, 31.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▌ | 3.63G/4.27G [03:23<00:24, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▌ | 3.64G/4.27G [03:23<00:22, 28.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▌ | 3.64G/4.27G [03:23<00:23, 26.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  85%|████████▌ | 3.64G/4.27G [03:24<00:19, 31.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.65G/4.27G [03:24<00:19, 32.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.65G/4.27G [03:24<00:18, 33.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.66G/4.27G [03:24<00:30, 19.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.66G/4.27G [03:24<00:37, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.66G/4.27G [03:24<00:31, 19.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.66G/4.27G [03:25<00:31, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.67G/4.27G [03:25<00:29, 20.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.67G/4.27G [03:25<00:25, 23.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.67G/4.27G [03:25<00:22, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▌ | 3.68G/4.27G [03:25<00:25, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▋ | 3.68G/4.27G [03:25<00:21, 27.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▋ | 3.68G/4.27G [03:25<00:20, 28.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  86%|████████▋ | 3.69G/4.27G [03:25<00:19, 29.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.69G/4.27G [03:25<00:19, 30.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.69G/4.27G [03:26<00:18, 31.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.70G/4.27G [03:26<00:17, 32.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.70G/4.27G [03:26<00:17, 32.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.70G/4.27G [03:26<00:17, 32.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.71G/4.27G [03:26<00:16, 33.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.71G/4.27G [03:26<00:17, 32.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.71G/4.27G [03:26<00:17, 32.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.72G/4.27G [03:26<00:17, 30.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.72G/4.27G [03:27<00:34, 15.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.72G/4.27G [03:27<00:32, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.73G/4.27G [03:27<00:26, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  87%|████████▋ | 3.73G/4.27G [03:27<00:24, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.73G/4.27G [03:27<00:20, 25.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.74G/4.27G [03:27<00:19, 27.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.74G/4.27G [03:27<00:21, 24.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.74G/4.27G [03:28<00:20, 25.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.74G/4.27G [03:28<00:24, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.75G/4.27G [03:28<00:24, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.75G/4.27G [03:28<00:28, 18.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.75G/4.27G [03:28<00:26, 19.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.75G/4.27G [03:28<00:24, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.76G/4.27G [03:28<00:21, 23.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.76G/4.27G [03:28<00:18, 27.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.76G/4.27G [03:29<00:31, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.77G/4.27G [03:29<00:27, 17.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.77G/4.27G [03:29<00:22, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  88%|████████▊ | 3.77G/4.27G [03:29<00:21, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▊ | 3.78G/4.27G [03:29<00:19, 25.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▊ | 3.78G/4.27G [03:29<00:17, 27.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▊ | 3.78G/4.27G [03:29<00:17, 27.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.79G/4.27G [03:30<00:20, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.79G/4.27G [03:30<00:25, 18.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.79G/4.27G [03:30<00:21, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.79G/4.27G [03:30<00:30, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.80G/4.27G [03:30<00:29, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.80G/4.27G [03:30<00:24, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.80G/4.27G [03:31<00:25, 18.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.81G/4.27G [03:31<00:21, 21.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.81G/4.27G [03:31<00:18, 24.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.81G/4.27G [03:31<00:17, 26.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  89%|████████▉ | 3.81G/4.27G [03:31<00:16, 27.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.82G/4.27G [03:31<00:18, 24.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.82G/4.27G [03:31<00:16, 27.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.82G/4.27G [03:31<00:16, 27.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.83G/4.27G [03:31<00:16, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.83G/4.27G [03:32<00:15, 28.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.83G/4.27G [03:32<00:16, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|████████▉ | 3.84G/4.27G [03:32<00:23, 18.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.84G/4.27G [03:32<00:19, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.84G/4.27G [03:32<00:18, 22.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.85G/4.27G [03:32<00:18, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.85G/4.27G [03:32<00:19, 21.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.85G/4.27G [03:32<00:17, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.85G/4.27G [03:33<00:18, 22.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  90%|█████████ | 3.86G/4.27G [03:33<00:15, 25.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.86G/4.27G [03:33<00:14, 28.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.86G/4.27G [03:33<00:12, 32.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.87G/4.27G [03:33<00:13, 30.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.87G/4.27G [03:33<00:12, 31.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.87G/4.27G [03:33<00:15, 25.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.88G/4.27G [03:34<00:16, 22.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.88G/4.27G [03:34<00:18, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.88G/4.27G [03:34<00:17, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.88G/4.27G [03:34<00:22, 16.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.89G/4.27G [03:34<00:18, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████ | 3.89G/4.27G [03:34<00:19, 19.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████▏| 3.89G/4.27G [03:34<00:18, 20.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████▏| 3.90G/4.27G [03:34<00:16, 21.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████▏| 3.90G/4.27G [03:35<00:14, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  91%|█████████▏| 3.90G/4.27G [03:35<00:15, 24.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.90G/4.27G [03:35<00:14, 24.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.91G/4.27G [03:35<00:13, 26.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.91G/4.27G [03:35<00:13, 26.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.91G/4.27G [03:35<00:13, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.91G/4.27G [03:35<00:15, 22.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.92G/4.27G [03:35<00:13, 25.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.92G/4.27G [03:35<00:13, 25.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.92G/4.27G [03:36<00:12, 27.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.93G/4.27G [03:36<00:12, 27.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.93G/4.27G [03:36<00:14, 23.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.93G/4.27G [03:36<00:15, 21.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.94G/4.27G [03:36<00:13, 24.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.94G/4.27G [03:36<00:14, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.94G/4.27G [03:36<00:13, 24.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  92%|█████████▏| 3.94G/4.27G [03:36<00:12, 26.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.95G/4.27G [03:36<00:12, 26.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.95G/4.27G [03:37<00:11, 27.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.95G/4.27G [03:37<00:12, 25.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.96G/4.27G [03:37<00:13, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.96G/4.27G [03:37<00:11, 27.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.96G/4.27G [03:37<00:11, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.97G/4.27G [03:37<00:11, 25.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.97G/4.27G [03:37<00:10, 28.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.97G/4.27G [03:37<00:10, 27.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.98G/4.27G [03:38<00:10, 28.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.98G/4.27G [03:38<00:10, 28.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.98G/4.27G [03:38<00:09, 30.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  93%|█████████▎| 3.98G/4.27G [03:38<00:09, 28.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▎| 3.99G/4.27G [03:38<00:09, 29.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▎| 3.99G/4.27G [03:38<00:09, 30.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▎| 4.00G/4.27G [03:38<00:08, 32.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▎| 4.00G/4.27G [03:38<00:08, 31.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.00G/4.27G [03:38<00:08, 30.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.00G/4.27G [03:38<00:09, 28.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.01G/4.27G [03:39<00:08, 29.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.01G/4.27G [03:39<00:08, 31.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.01G/4.27G [03:39<00:08, 30.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.02G/4.27G [03:39<00:08, 30.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.02G/4.27G [03:39<00:07, 32.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.02G/4.27G [03:39<00:09, 26.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  94%|█████████▍| 4.03G/4.27G [03:39<00:08, 28.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.03G/4.27G [03:39<00:10, 21.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.03G/4.27G [03:40<00:17, 13.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.04G/4.27G [03:40<00:19, 11.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.04G/4.27G [03:40<00:23, 9.63MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.04G/4.27G [03:41<00:18, 12.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.04G/4.27G [03:41<00:18, 11.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.04G/4.27G [03:41<00:14, 14.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.05G/4.27G [03:41<00:14, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.05G/4.27G [03:41<00:13, 15.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▍| 4.05G/4.27G [03:41<00:13, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.05G/4.27G [03:41<00:12, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.05G/4.27G [03:41<00:11, 17.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.06G/4.27G [03:41<00:10, 19.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.06G/4.27G [03:42<00:10, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.06G/4.27G [03:42<00:15, 13.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.06G/4.27G [03:42<00:13, 15.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.07G/4.27G [03:42<00:12, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.07G/4.27G [03:42<00:13, 15.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.07G/4.27G [03:42<00:09, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  95%|█████████▌| 4.07G/4.27G [03:42<00:09, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.08G/4.27G [03:43<00:09, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.08G/4.27G [03:43<00:09, 20.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.08G/4.27G [03:43<00:08, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.08G/4.27G [03:43<00:08, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.08G/4.27G [03:43<00:08, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.09G/4.27G [03:43<00:08, 21.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.09G/4.27G [03:43<00:08, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.09G/4.27G [03:43<00:08, 20.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.09G/4.27G [03:44<00:11, 14.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.10G/4.27G [03:44<00:09, 17.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.10G/4.27G [03:44<00:10, 16.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.10G/4.27G [03:44<00:10, 16.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.10G/4.27G [03:44<00:14, 11.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▌| 4.10G/4.27G [03:44<00:12, 13.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▋| 4.11G/4.27G [03:44<00:13, 12.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▋| 4.11G/4.27G [03:45<00:15, 10.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▋| 4.11G/4.27G [03:45<00:11, 13.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▋| 4.11G/4.27G [03:45<00:10, 14.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  96%|█████████▋| 4.11G/4.27G [03:45<00:09, 16.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.12G/4.27G [03:45<00:08, 17.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.12G/4.27G [03:45<00:08, 17.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.12G/4.27G [03:45<00:08, 16.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.12G/4.27G [03:45<00:06, 20.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.13G/4.27G [03:46<00:06, 21.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.13G/4.27G [03:46<00:06, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.13G/4.27G [03:46<00:07, 19.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.13G/4.27G [03:46<00:05, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.14G/4.27G [03:46<00:06, 21.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.14G/4.27G [03:46<00:05, 21.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.14G/4.27G [03:46<00:05, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.14G/4.27G [03:46<00:07, 16.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.15G/4.27G [03:47<00:05, 22.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.15G/4.27G [03:47<00:04, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.15G/4.27G [03:47<00:04, 24.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.16G/4.27G [03:47<00:04, 23.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  97%|█████████▋| 4.16G/4.27G [03:47<00:04, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.16G/4.27G [03:47<00:04, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.16G/4.27G [03:47<00:05, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.17G/4.27G [03:47<00:04, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.17G/4.27G [03:48<00:04, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.17G/4.27G [03:48<00:03, 23.8MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.17G/4.27G [03:48<00:03, 24.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.18G/4.27G [03:48<00:03, 24.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.18G/4.27G [03:48<00:03, 23.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.18G/4.27G [03:48<00:04, 19.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.18G/4.27G [03:48<00:03, 20.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.19G/4.27G [03:48<00:03, 20.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.19G/4.27G [03:48<00:03, 19.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.19G/4.27G [03:49<00:03, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.19G/4.27G [03:49<00:03, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.20G/4.27G [03:49<00:03, 18.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  98%|█████████▊| 4.20G/4.27G [03:49<00:03, 21.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▊| 4.21G/4.27G [03:49<00:02, 26.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▊| 4.21G/4.27G [03:49<00:02, 21.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.21G/4.27G [03:49<00:02, 26.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.22G/4.27G [03:50<00:01, 25.7MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.22G/4.27G [03:50<00:02, 18.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.22G/4.27G [03:50<00:02, 20.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.22G/4.27G [03:50<00:02, 16.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.23G/4.27G [03:50<00:01, 19.9MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.23G/4.27G [03:50<00:02, 16.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.23G/4.27G [03:51<00:01, 19.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.23G/4.27G [03:51<00:01, 20.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.24G/4.27G [03:51<00:01, 21.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.24G/4.27G [03:51<00:01, 17.6MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt:  99%|█████████▉| 4.24G/4.27G [03:51<00:00, 23.4MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.25G/4.27G [03:51<00:00, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.25G/4.27G [03:51<00:00, 23.0MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.25G/4.27G [03:51<00:00, 22.3MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.25G/4.27G [03:51<00:00, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.26G/4.27G [03:52<00:00, 22.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.26G/4.27G [03:52<00:00, 22.5MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.26G/4.27G [03:52<00:00, 23.2MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|█████████▉| 4.26G/4.27G [03:52<00:00, 23.1MB/s]
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt: 100%|██████████| 4.27G/4.27G [03:52<00:00, 18.3MB/s]

  0%|          | 0/1131 [00:00<?, ?it/s]
ram used:  0.00 GB, alphas_cumprod                                    :   0%|          | 0/1131 [00:00<?, ?it/s]
ram used:  0.00 GB, alphas_cumprod                                    :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.00 GB, model.diffusion_model.time_embed.0.weight         :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.00 GB, model.diffusion_model.time_embed.0.bias           :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.00 GB, model.diffusion_model.time_embed.2.weight         :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.time_embed.2.bias           :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.0.0.weight     :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.0.0.bias       :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.in_layers.0.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.in_layers.0.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.in_layers.2.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.in_layers.2.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.emb_layers.1.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.emb_layers.1.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.out_layers.0.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.out_layers.0.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.01 GB, model.diffusion_model.input_blocks.1.0.out_layers.3.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.0.out_layers.3.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.norm.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]      
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.norm.bias  :   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.proj_in.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.proj_in.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_q.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_k.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_v.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_out.0.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_out.0.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.0.proj.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.0.proj.bias:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]  
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.2.weight:   0%|          | 1/1131 [00:00<04:09,  4.52it/s]   
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.2.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.2.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_q.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.02 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_k.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_v.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_out.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_out.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm1.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]       
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm1.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm2.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm2.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm3.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm3.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.proj_out.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]                
ram used:  0.03 GB, model.diffusion_model.input_blocks.1.1.proj_out.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.in_layers.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.in_layers.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.in_layers.2.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.in_layers.2.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.emb_layers.1.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.emb_layers.1.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.out_layers.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.out_layers.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.03 GB, model.diffusion_model.input_blocks.2.0.out_layers.3.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.0.out_layers.3.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.norm.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]      
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.norm.bias  :   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.proj_in.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.proj_in.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_q.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_k.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_v.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_out.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_out.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.0.proj.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.0.proj.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.2.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]   
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.2.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_q.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.04 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_v.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_out.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_out.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm1.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]       
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm1.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm2.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm2.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm3.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm3.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.proj_out.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]                
ram used:  0.05 GB, model.diffusion_model.input_blocks.2.1.proj_out.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.3.0.op.weight  :   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.3.0.op.bias    :   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.05 GB, model.diffusion_model.input_blocks.4.0.in_layers.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.05 GB, model.diffusion_model.input_blocks.4.0.in_layers.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.05 GB, model.diffusion_model.input_blocks.4.0.in_layers.2.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.06 GB, model.diffusion_model.input_blocks.4.0.in_layers.2.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.06 GB, model.diffusion_model.input_blocks.4.0.emb_layers.1.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.06 GB, model.diffusion_model.input_blocks.4.0.emb_layers.1.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.06 GB, model.diffusion_model.input_blocks.4.0.out_layers.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.06 GB, model.diffusion_model.input_blocks.4.0.out_layers.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.06 GB, model.diffusion_model.input_blocks.4.0.out_layers.3.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.0.out_layers.3.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.0.skip_connection.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.0.skip_connection.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.norm.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]         
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.norm.bias  :   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.proj_in.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.proj_in.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_q.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_k.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_v.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_out.0.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_out.0.bias:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]  
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.0.proj.weight:   3%|▎         | 29/1131 [00:00<00:09, 112.47it/s]
ram used:  0.08 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.0.proj.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.10 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.0.proj.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.10 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.2.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]   
ram used:  0.10 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.2.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.10 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_q.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_v.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_out.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_out.0.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm1.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]       
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm1.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm2.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm2.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm3.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm3.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.proj_out.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]                
ram used:  0.11 GB, model.diffusion_model.input_blocks.4.1.proj_out.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.11 GB, model.diffusion_model.input_blocks.5.0.in_layers.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.11 GB, model.diffusion_model.input_blocks.5.0.in_layers.0.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.11 GB, model.diffusion_model.input_blocks.5.0.in_layers.2.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.13 GB, model.diffusion_model.input_blocks.5.0.in_layers.2.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.13 GB, model.diffusion_model.input_blocks.5.0.emb_layers.1.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.13 GB, model.diffusion_model.input_blocks.5.0.emb_layers.1.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.13 GB, model.diffusion_model.input_blocks.5.0.out_layers.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.13 GB, model.diffusion_model.input_blocks.5.0.out_layers.0.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.13 GB, model.diffusion_model.input_blocks.5.0.out_layers.3.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.0.out_layers.3.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.norm.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]      
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.norm.bias  :   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.proj_in.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.proj_in.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_q.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_k.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_v.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_out.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_out.0.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.15 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.0.proj.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.17 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.0.proj.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.17 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.2.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]   
ram used:  0.17 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.2.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.17 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_q.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_k.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_v.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_out.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_out.0.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm1.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]       
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm1.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm2.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm2.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm3.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm3.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.proj_out.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]                
ram used:  0.18 GB, model.diffusion_model.input_blocks.5.1.proj_out.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.18 GB, model.diffusion_model.input_blocks.6.0.op.weight  :   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.20 GB, model.diffusion_model.input_blocks.6.0.op.bias    :   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.20 GB, model.diffusion_model.input_blocks.7.0.in_layers.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.20 GB, model.diffusion_model.input_blocks.7.0.in_layers.0.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.20 GB, model.diffusion_model.input_blocks.7.0.in_layers.2.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.in_layers.2.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.emb_layers.1.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.emb_layers.1.bias:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]  
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.out_layers.0.weight:   9%|▉         | 103/1131 [00:00<00:03, 337.56it/s]
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.out_layers.0.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.out_layers.0.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.23 GB, model.diffusion_model.input_blocks.7.0.out_layers.3.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.29 GB, model.diffusion_model.input_blocks.7.0.out_layers.3.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.29 GB, model.diffusion_model.input_blocks.7.0.skip_connection.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.30 GB, model.diffusion_model.input_blocks.7.0.skip_connection.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.30 GB, model.diffusion_model.input_blocks.7.1.norm.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]         
ram used:  0.30 GB, model.diffusion_model.input_blocks.7.1.norm.bias  :  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.30 GB, model.diffusion_model.input_blocks.7.1.proj_in.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.30 GB, model.diffusion_model.input_blocks.7.1.proj_in.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.30 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_q.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.31 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_k.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.32 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_v.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.32 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_out.0.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.33 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_out.0.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.33 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.0.proj.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.38 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.0.proj.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.38 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.2.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]   
ram used:  0.41 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.2.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.41 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_q.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.41 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_k.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.42 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_v.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.42 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_out.0.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_out.0.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm1.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]       
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm1.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm2.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm2.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm3.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm3.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.43 GB, model.diffusion_model.input_blocks.7.1.proj_out.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]                
ram used:  0.44 GB, model.diffusion_model.input_blocks.7.1.proj_out.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.44 GB, model.diffusion_model.input_blocks.8.0.in_layers.0.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.44 GB, model.diffusion_model.input_blocks.8.0.in_layers.0.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.44 GB, model.diffusion_model.input_blocks.8.0.in_layers.2.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.49 GB, model.diffusion_model.input_blocks.8.0.in_layers.2.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.49 GB, model.diffusion_model.input_blocks.8.0.emb_layers.1.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.50 GB, model.diffusion_model.input_blocks.8.0.emb_layers.1.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.50 GB, model.diffusion_model.input_blocks.8.0.out_layers.0.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.50 GB, model.diffusion_model.input_blocks.8.0.out_layers.0.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.50 GB, model.diffusion_model.input_blocks.8.0.out_layers.3.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.56 GB, model.diffusion_model.input_blocks.8.0.out_layers.3.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.56 GB, model.diffusion_model.input_blocks.8.1.norm.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]      
ram used:  0.56 GB, model.diffusion_model.input_blocks.8.1.norm.bias  :  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.56 GB, model.diffusion_model.input_blocks.8.1.proj_in.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.57 GB, model.diffusion_model.input_blocks.8.1.proj_in.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.57 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_q.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.57 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_k.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.58 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_v.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.59 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_out.0.weight:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]
ram used:  0.59 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_out.0.bias:  15%|█▍        | 164/1131 [00:00<00:02, 428.67it/s]  
ram used:  0.59 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_out.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.59 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.0.proj.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.64 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.0.proj.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.64 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.2.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]   
ram used:  0.67 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.2.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.67 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_q.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.68 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_k.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.68 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_v.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_out.0.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_out.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm1.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]       
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm1.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm2.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm2.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm3.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm3.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.69 GB, model.diffusion_model.input_blocks.8.1.proj_out.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]                
ram used:  0.70 GB, model.diffusion_model.input_blocks.8.1.proj_out.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.70 GB, model.diffusion_model.input_blocks.9.0.op.weight  :  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.76 GB, model.diffusion_model.input_blocks.9.0.op.bias    :  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.76 GB, model.diffusion_model.input_blocks.10.0.in_layers.0.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.76 GB, model.diffusion_model.input_blocks.10.0.in_layers.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.76 GB, model.diffusion_model.input_blocks.10.0.in_layers.2.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.82 GB, model.diffusion_model.input_blocks.10.0.in_layers.2.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.82 GB, model.diffusion_model.input_blocks.10.0.emb_layers.1.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.82 GB, model.diffusion_model.input_blocks.10.0.emb_layers.1.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.82 GB, model.diffusion_model.input_blocks.10.0.out_layers.0.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.82 GB, model.diffusion_model.input_blocks.10.0.out_layers.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.82 GB, model.diffusion_model.input_blocks.10.0.out_layers.3.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.88 GB, model.diffusion_model.input_blocks.10.0.out_layers.3.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.88 GB, model.diffusion_model.input_blocks.11.0.in_layers.0.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.88 GB, model.diffusion_model.input_blocks.11.0.in_layers.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.88 GB, model.diffusion_model.input_blocks.11.0.in_layers.2.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.94 GB, model.diffusion_model.input_blocks.11.0.in_layers.2.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.94 GB, model.diffusion_model.input_blocks.11.0.emb_layers.1.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.95 GB, model.diffusion_model.input_blocks.11.0.emb_layers.1.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.95 GB, model.diffusion_model.input_blocks.11.0.out_layers.0.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  0.95 GB, model.diffusion_model.input_blocks.11.0.out_layers.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  0.95 GB, model.diffusion_model.input_blocks.11.0.out_layers.3.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  1.01 GB, model.diffusion_model.input_blocks.11.0.out_layers.3.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  1.01 GB, model.diffusion_model.middle_block.0.in_layers.0.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  1.01 GB, model.diffusion_model.middle_block.0.in_layers.0.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  1.01 GB, model.diffusion_model.middle_block.0.in_layers.2.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  1.07 GB, model.diffusion_model.middle_block.0.in_layers.2.bias:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]  
ram used:  1.07 GB, model.diffusion_model.middle_block.0.emb_layers.1.weight:  19%|█▉        | 214/1131 [00:00<00:02, 381.73it/s]
ram used:  1.07 GB, model.diffusion_model.middle_block.0.emb_layers.1.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.07 GB, model.diffusion_model.middle_block.0.emb_layers.1.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.07 GB, model.diffusion_model.middle_block.0.out_layers.0.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.07 GB, model.diffusion_model.middle_block.0.out_layers.0.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.07 GB, model.diffusion_model.middle_block.0.out_layers.3.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.13 GB, model.diffusion_model.middle_block.0.out_layers.3.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.13 GB, model.diffusion_model.middle_block.1.norm.weight  :  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]    
ram used:  1.13 GB, model.diffusion_model.middle_block.1.norm.bias    :  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.13 GB, model.diffusion_model.middle_block.1.proj_in.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.14 GB, model.diffusion_model.middle_block.1.proj_in.bias :  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s] 
ram used:  1.14 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_q.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.14 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_k.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.15 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_v.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.16 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_out.0.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.16 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_out.0.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.16 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.0.proj.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.22 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.0.proj.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.22 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.2.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]   
ram used:  1.24 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.2.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.24 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_q.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.25 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_k.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.25 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_v.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_out.0.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_out.0.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.norm1.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]       
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.norm1.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.norm2.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.norm2.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.norm3.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.26 GB, model.diffusion_model.middle_block.1.transformer_blocks.0.norm3.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.26 GB, model.diffusion_model.middle_block.1.proj_out.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]                
ram used:  1.27 GB, model.diffusion_model.middle_block.1.proj_out.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.27 GB, model.diffusion_model.middle_block.2.in_layers.0.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.27 GB, model.diffusion_model.middle_block.2.in_layers.0.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.27 GB, model.diffusion_model.middle_block.2.in_layers.2.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.33 GB, model.diffusion_model.middle_block.2.in_layers.2.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.33 GB, model.diffusion_model.middle_block.2.emb_layers.1.weight:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]
ram used:  1.34 GB, model.diffusion_model.middle_block.2.emb_layers.1.bias:  23%|██▎       | 258/1131 [00:00<00:02, 318.47it/s]  
ram used:  1.34 GB, model.diffusion_model.middle_block.2.emb_layers.1.bias:  26%|██▌       | 295/1131 [00:00<00:02, 317.60it/s]
ram used:  1.34 GB, model.diffusion_model.middle_block.2.out_layers.0.weight:  26%|██▌       | 295/1131 [00:00<00:02, 317.60it/s]
ram used:  1.34 GB, model.diffusion_model.middle_block.2.out_layers.0.bias:  26%|██▌       | 295/1131 [00:00<00:02, 317.60it/s]  
ram used:  1.34 GB, model.diffusion_model.middle_block.2.out_layers.3.weight:  26%|██▌       | 295/1131 [00:00<00:02, 317.60it/s]
ram used:  1.39 GB, model.diffusion_model.middle_block.2.out_layers.3.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.39 GB, model.diffusion_model.output_blocks.0.0.in_layers.0.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.39 GB, model.diffusion_model.output_blocks.0.0.in_layers.0.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.39 GB, model.diffusion_model.output_blocks.0.0.in_layers.2.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.51 GB, model.diffusion_model.output_blocks.0.0.in_layers.2.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.51 GB, model.diffusion_model.output_blocks.0.0.emb_layers.1.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.52 GB, model.diffusion_model.output_blocks.0.0.emb_layers.1.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.52 GB, model.diffusion_model.output_blocks.0.0.out_layers.0.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.52 GB, model.diffusion_model.output_blocks.0.0.out_layers.0.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.52 GB, model.diffusion_model.output_blocks.0.0.out_layers.3.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.58 GB, model.diffusion_model.output_blocks.0.0.out_layers.3.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.58 GB, model.diffusion_model.output_blocks.0.0.skip_connection.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.59 GB, model.diffusion_model.output_blocks.0.0.skip_connection.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.59 GB, model.diffusion_model.output_blocks.1.0.in_layers.0.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.59 GB, model.diffusion_model.output_blocks.1.0.in_layers.0.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.59 GB, model.diffusion_model.output_blocks.1.0.in_layers.2.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.71 GB, model.diffusion_model.output_blocks.1.0.in_layers.2.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.71 GB, model.diffusion_model.output_blocks.1.0.emb_layers.1.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.72 GB, model.diffusion_model.output_blocks.1.0.emb_layers.1.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.72 GB, model.diffusion_model.output_blocks.1.0.out_layers.0.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.72 GB, model.diffusion_model.output_blocks.1.0.out_layers.0.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.72 GB, model.diffusion_model.output_blocks.1.0.out_layers.3.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.78 GB, model.diffusion_model.output_blocks.1.0.out_layers.3.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.78 GB, model.diffusion_model.output_blocks.1.0.skip_connection.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.79 GB, model.diffusion_model.output_blocks.1.0.skip_connection.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.79 GB, model.diffusion_model.output_blocks.2.0.in_layers.0.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.79 GB, model.diffusion_model.output_blocks.2.0.in_layers.0.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.79 GB, model.diffusion_model.output_blocks.2.0.in_layers.2.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.in_layers.2.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.emb_layers.1.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.emb_layers.1.bias:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]  
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.out_layers.0.weight:  26%|██▌       | 295/1131 [00:01<00:02, 317.60it/s]
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.out_layers.0.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.out_layers.0.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  1.91 GB, model.diffusion_model.output_blocks.2.0.out_layers.3.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  1.97 GB, model.diffusion_model.output_blocks.2.0.out_layers.3.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  1.97 GB, model.diffusion_model.output_blocks.2.0.skip_connection.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  1.98 GB, model.diffusion_model.output_blocks.2.0.skip_connection.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  1.98 GB, model.diffusion_model.output_blocks.2.1.conv.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]         
ram used:  2.04 GB, model.diffusion_model.output_blocks.2.1.conv.bias :  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s] 
ram used:  2.04 GB, model.diffusion_model.output_blocks.3.0.in_layers.0.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.04 GB, model.diffusion_model.output_blocks.3.0.in_layers.0.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.04 GB, model.diffusion_model.output_blocks.3.0.in_layers.2.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.16 GB, model.diffusion_model.output_blocks.3.0.in_layers.2.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.16 GB, model.diffusion_model.output_blocks.3.0.emb_layers.1.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.17 GB, model.diffusion_model.output_blocks.3.0.emb_layers.1.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.17 GB, model.diffusion_model.output_blocks.3.0.out_layers.0.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.17 GB, model.diffusion_model.output_blocks.3.0.out_layers.0.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.17 GB, model.diffusion_model.output_blocks.3.0.out_layers.3.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.23 GB, model.diffusion_model.output_blocks.3.0.out_layers.3.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.23 GB, model.diffusion_model.output_blocks.3.0.skip_connection.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.24 GB, model.diffusion_model.output_blocks.3.0.skip_connection.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.24 GB, model.diffusion_model.output_blocks.3.1.norm.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]         
ram used:  2.24 GB, model.diffusion_model.output_blocks.3.1.norm.bias :  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s] 
ram used:  2.24 GB, model.diffusion_model.output_blocks.3.1.proj_in.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.25 GB, model.diffusion_model.output_blocks.3.1.proj_in.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.25 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_q.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.25 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_k.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.26 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_v.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.27 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_out.0.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.27 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_out.0.bias:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]  
ram used:  2.27 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.0.proj.weight:  29%|██▉       | 330/1131 [00:01<00:03, 253.33it/s]
ram used:  2.27 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.0.proj.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.33 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.0.proj.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.33 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.2.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]   
ram used:  2.35 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.2.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.35 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_q.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.36 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_k.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.36 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_v.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_out.0.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_out.0.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm1.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]       
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm1.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm2.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm2.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm3.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm3.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.37 GB, model.diffusion_model.output_blocks.3.1.proj_out.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]                
ram used:  2.38 GB, model.diffusion_model.output_blocks.3.1.proj_out.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.38 GB, model.diffusion_model.output_blocks.4.0.in_layers.0.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.38 GB, model.diffusion_model.output_blocks.4.0.in_layers.0.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.38 GB, model.diffusion_model.output_blocks.4.0.in_layers.2.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.50 GB, model.diffusion_model.output_blocks.4.0.in_layers.2.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.50 GB, model.diffusion_model.output_blocks.4.0.emb_layers.1.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.50 GB, model.diffusion_model.output_blocks.4.0.emb_layers.1.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.50 GB, model.diffusion_model.output_blocks.4.0.out_layers.0.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.50 GB, model.diffusion_model.output_blocks.4.0.out_layers.0.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.50 GB, model.diffusion_model.output_blocks.4.0.out_layers.3.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.56 GB, model.diffusion_model.output_blocks.4.0.out_layers.3.bias:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]  
ram used:  2.56 GB, model.diffusion_model.output_blocks.4.0.skip_connection.weight:  32%|███▏      | 359/1131 [00:01<00:03, 235.42it/s]
ram used:  2.56 GB, model.diffusion_model.output_blocks.4.0.skip_connection.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.58 GB, model.diffusion_model.output_blocks.4.0.skip_connection.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.58 GB, model.diffusion_model.output_blocks.4.1.norm.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]         
ram used:  2.58 GB, model.diffusion_model.output_blocks.4.1.norm.bias :  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s] 
ram used:  2.58 GB, model.diffusion_model.output_blocks.4.1.proj_in.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.58 GB, model.diffusion_model.output_blocks.4.1.proj_in.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.58 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_q.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.59 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_k.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.60 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_v.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.60 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_out.0.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.61 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_out.0.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.61 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.0.proj.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.66 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.0.proj.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.66 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.2.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]   
ram used:  2.69 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.2.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.69 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_q.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.69 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_k.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.70 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_v.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.70 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_out.0.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_out.0.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm1.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]       
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm1.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm2.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm2.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm3.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm3.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.71 GB, model.diffusion_model.output_blocks.4.1.proj_out.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]                
ram used:  2.72 GB, model.diffusion_model.output_blocks.4.1.proj_out.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.72 GB, model.diffusion_model.output_blocks.5.0.in_layers.0.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.72 GB, model.diffusion_model.output_blocks.5.0.in_layers.0.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.72 GB, model.diffusion_model.output_blocks.5.0.in_layers.2.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.80 GB, model.diffusion_model.output_blocks.5.0.in_layers.2.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.80 GB, model.diffusion_model.output_blocks.5.0.emb_layers.1.weight:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]
ram used:  2.81 GB, model.diffusion_model.output_blocks.5.0.emb_layers.1.bias:  34%|███▍      | 386/1131 [00:01<00:03, 242.62it/s]  
ram used:  2.81 GB, model.diffusion_model.output_blocks.5.0.emb_layers.1.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.81 GB, model.diffusion_model.output_blocks.5.0.out_layers.0.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.81 GB, model.diffusion_model.output_blocks.5.0.out_layers.0.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.81 GB, model.diffusion_model.output_blocks.5.0.out_layers.3.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.87 GB, model.diffusion_model.output_blocks.5.0.out_layers.3.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.87 GB, model.diffusion_model.output_blocks.5.0.skip_connection.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.88 GB, model.diffusion_model.output_blocks.5.0.skip_connection.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.88 GB, model.diffusion_model.output_blocks.5.1.norm.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]         
ram used:  2.88 GB, model.diffusion_model.output_blocks.5.1.norm.bias :  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s] 
ram used:  2.88 GB, model.diffusion_model.output_blocks.5.1.proj_in.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.89 GB, model.diffusion_model.output_blocks.5.1.proj_in.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.89 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_q.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.89 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_k.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.90 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_v.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.91 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_out.0.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.91 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_out.0.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.91 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.0.proj.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  2.96 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.0.proj.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.96 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.2.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]   
ram used:  2.99 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.2.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  2.99 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_q.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  3.00 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_k.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  3.00 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_v.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_out.0.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_out.0.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm1.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]       
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm1.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm2.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm2.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm3.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm3.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  3.01 GB, model.diffusion_model.output_blocks.5.1.proj_out.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]                
ram used:  3.02 GB, model.diffusion_model.output_blocks.5.1.proj_out.bias:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  3.02 GB, model.diffusion_model.output_blocks.5.2.conv.weight:  37%|███▋      | 419/1131 [00:01<00:02, 263.28it/s]  
ram used:  3.02 GB, model.diffusion_model.output_blocks.5.2.conv.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.08 GB, model.diffusion_model.output_blocks.5.2.conv.bias :  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s] 
ram used:  3.08 GB, model.diffusion_model.output_blocks.6.0.in_layers.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.08 GB, model.diffusion_model.output_blocks.6.0.in_layers.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.08 GB, model.diffusion_model.output_blocks.6.0.in_layers.2.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.12 GB, model.diffusion_model.output_blocks.6.0.in_layers.2.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.12 GB, model.diffusion_model.output_blocks.6.0.emb_layers.1.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.12 GB, model.diffusion_model.output_blocks.6.0.emb_layers.1.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.12 GB, model.diffusion_model.output_blocks.6.0.out_layers.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.12 GB, model.diffusion_model.output_blocks.6.0.out_layers.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.12 GB, model.diffusion_model.output_blocks.6.0.out_layers.3.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.14 GB, model.diffusion_model.output_blocks.6.0.out_layers.3.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.14 GB, model.diffusion_model.output_blocks.6.0.skip_connection.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.14 GB, model.diffusion_model.output_blocks.6.0.skip_connection.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.14 GB, model.diffusion_model.output_blocks.6.1.norm.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]         
ram used:  3.14 GB, model.diffusion_model.output_blocks.6.1.norm.bias :  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s] 
ram used:  3.14 GB, model.diffusion_model.output_blocks.6.1.proj_in.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.proj_in.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_q.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_k.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_v.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_out.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_out.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.15 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.0.proj.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.17 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.0.proj.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.17 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.2.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]   
ram used:  3.17 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.2.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.17 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_q.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.17 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_k.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_v.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_out.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_out.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm1.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]       
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm1.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm2.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm2.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm3.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm3.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.proj_out.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]                
ram used:  3.18 GB, model.diffusion_model.output_blocks.6.1.proj_out.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.18 GB, model.diffusion_model.output_blocks.7.0.in_layers.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.18 GB, model.diffusion_model.output_blocks.7.0.in_layers.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.18 GB, model.diffusion_model.output_blocks.7.0.in_layers.2.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.21 GB, model.diffusion_model.output_blocks.7.0.in_layers.2.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.21 GB, model.diffusion_model.output_blocks.7.0.emb_layers.1.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.21 GB, model.diffusion_model.output_blocks.7.0.emb_layers.1.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.21 GB, model.diffusion_model.output_blocks.7.0.out_layers.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.21 GB, model.diffusion_model.output_blocks.7.0.out_layers.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.21 GB, model.diffusion_model.output_blocks.7.0.out_layers.3.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.0.out_layers.3.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.0.skip_connection.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.0.skip_connection.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.1.norm.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]         
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.1.norm.bias :  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s] 
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.1.proj_in.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.1.proj_in.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.23 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_q.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.24 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_k.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.24 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_v.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.24 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_out.0.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.24 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_out.0.bias:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]  
ram used:  3.24 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.0.proj.weight:  40%|███▉      | 452/1131 [00:01<00:02, 274.21it/s]
ram used:  3.24 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.0.proj.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.25 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.0.proj.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.25 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]   
ram used:  3.26 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.26 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_q.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.26 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_k.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.26 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_v.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_out.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_out.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm1.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]       
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm1.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm3.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm3.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.proj_out.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]                
ram used:  3.27 GB, model.diffusion_model.output_blocks.7.1.proj_out.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.27 GB, model.diffusion_model.output_blocks.8.0.in_layers.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.27 GB, model.diffusion_model.output_blocks.8.0.in_layers.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.27 GB, model.diffusion_model.output_blocks.8.0.in_layers.2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.29 GB, model.diffusion_model.output_blocks.8.0.in_layers.2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.29 GB, model.diffusion_model.output_blocks.8.0.emb_layers.1.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.29 GB, model.diffusion_model.output_blocks.8.0.emb_layers.1.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.29 GB, model.diffusion_model.output_blocks.8.0.out_layers.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.29 GB, model.diffusion_model.output_blocks.8.0.out_layers.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.29 GB, model.diffusion_model.output_blocks.8.0.out_layers.3.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.0.out_layers.3.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.0.skip_connection.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.0.skip_connection.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.1.norm.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]         
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.1.norm.bias :  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s] 
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.1.proj_in.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.1.proj_in.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_q.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.31 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_k.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.32 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_v.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.32 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_out.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.32 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_out.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.32 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.0.proj.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.33 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.0.proj.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.33 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]   
ram used:  3.34 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.34 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_q.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.34 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_k.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.34 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_v.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.34 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_out.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_out.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm1.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]       
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm1.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm3.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm3.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.proj_out.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]                
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.1.proj_out.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.35 GB, model.diffusion_model.output_blocks.8.2.conv.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.36 GB, model.diffusion_model.output_blocks.8.2.conv.bias :  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s] 
ram used:  3.36 GB, model.diffusion_model.output_blocks.9.0.in_layers.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.36 GB, model.diffusion_model.output_blocks.9.0.in_layers.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.36 GB, model.diffusion_model.output_blocks.9.0.in_layers.2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.37 GB, model.diffusion_model.output_blocks.9.0.in_layers.2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.37 GB, model.diffusion_model.output_blocks.9.0.emb_layers.1.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.emb_layers.1.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.out_layers.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.out_layers.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.out_layers.3.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.out_layers.3.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.skip_connection.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.0.skip_connection.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.norm.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]         
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.norm.bias :  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s] 
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.proj_in.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.proj_in.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_q.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_k.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_v.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_out.0.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_out.0.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.38 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.0.proj.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.0.proj.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.2.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]   
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.2.bias:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_q.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_k.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_v.weight:  45%|████▌     | 513/1131 [00:01<00:01, 357.60it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_v.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_out.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_out.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]       
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm3.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm3.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.proj_out.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]                
ram used:  3.39 GB, model.diffusion_model.output_blocks.9.1.proj_out.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.10.0.in_layers.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.39 GB, model.diffusion_model.output_blocks.10.0.in_layers.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.39 GB, model.diffusion_model.output_blocks.10.0.in_layers.2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.in_layers.2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.emb_layers.1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.emb_layers.1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.out_layers.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.out_layers.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.out_layers.3.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.out_layers.3.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.skip_connection.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.0.skip_connection.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.1.norm.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]         
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.1.norm.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.1.proj_in.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.1.proj_in.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_q.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.40 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_k.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_v.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_out.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_out.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.0.proj.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.0.proj.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]   
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_q.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_k.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_v.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_out.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_out.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]       
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm3.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm3.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.proj_out.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]                
ram used:  3.41 GB, model.diffusion_model.output_blocks.10.1.proj_out.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.11.0.in_layers.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.41 GB, model.diffusion_model.output_blocks.11.0.in_layers.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.41 GB, model.diffusion_model.output_blocks.11.0.in_layers.2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.42 GB, model.diffusion_model.output_blocks.11.0.in_layers.2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.42 GB, model.diffusion_model.output_blocks.11.0.emb_layers.1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.42 GB, model.diffusion_model.output_blocks.11.0.emb_layers.1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.42 GB, model.diffusion_model.output_blocks.11.0.out_layers.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.42 GB, model.diffusion_model.output_blocks.11.0.out_layers.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.42 GB, model.diffusion_model.output_blocks.11.0.out_layers.3.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.0.out_layers.3.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.0.skip_connection.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.0.skip_connection.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.norm.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]         
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.norm.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.proj_in.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.proj_in.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_q.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_k.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_v.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_out.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_out.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.0.proj.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.0.proj.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]   
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.43 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_q.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_k.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_v.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_out.0.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_out.0.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]       
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm3.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm3.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.proj_out.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]                
ram used:  3.44 GB, model.diffusion_model.output_blocks.11.1.proj_out.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, model.diffusion_model.out.0.weight                :  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]    
ram used:  3.44 GB, model.diffusion_model.out.0.bias                  :  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.out.2.weight                :  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, model.diffusion_model.out.2.bias                  :  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.conv_in.weight          :  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.conv_in.bias            :  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.conv1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.conv1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.conv2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.0.conv2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.conv1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.conv1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.conv2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.block.1.conv2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.0.downsample.conv.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.0.downsample.conv.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.conv1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.conv1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.conv2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.conv2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.nin_shortcut.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.0.nin_shortcut.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.1.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]     
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.1.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.44 GB, first_stage_model.encoder.down.1.block.1.conv1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.45 GB, first_stage_model.encoder.down.1.block.1.conv1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.45 GB, first_stage_model.encoder.down.1.block.1.norm2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.45 GB, first_stage_model.encoder.down.1.block.1.norm2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.45 GB, first_stage_model.encoder.down.1.block.1.conv2.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.45 GB, first_stage_model.encoder.down.1.block.1.conv2.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.45 GB, first_stage_model.encoder.down.1.downsample.conv.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.45 GB, first_stage_model.encoder.down.1.downsample.conv.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.45 GB, first_stage_model.encoder.down.2.block.0.norm1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.45 GB, first_stage_model.encoder.down.2.block.0.norm1.bias:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]  
ram used:  3.45 GB, first_stage_model.encoder.down.2.block.0.conv1.weight:  53%|█████▎    | 597/1131 [00:01<00:01, 487.47it/s]
ram used:  3.45 GB, first_stage_model.encoder.down.2.block.0.conv1.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.46 GB, first_stage_model.encoder.down.2.block.0.conv1.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.46 GB, first_stage_model.encoder.down.2.block.0.norm2.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.46 GB, first_stage_model.encoder.down.2.block.0.norm2.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.46 GB, first_stage_model.encoder.down.2.block.0.conv2.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.47 GB, first_stage_model.encoder.down.2.block.0.conv2.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.47 GB, first_stage_model.encoder.down.2.block.0.nin_shortcut.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.47 GB, first_stage_model.encoder.down.2.block.0.nin_shortcut.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.47 GB, first_stage_model.encoder.down.2.block.1.norm1.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]     
ram used:  3.47 GB, first_stage_model.encoder.down.2.block.1.norm1.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.47 GB, first_stage_model.encoder.down.2.block.1.conv1.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.48 GB, first_stage_model.encoder.down.2.block.1.conv1.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.48 GB, first_stage_model.encoder.down.2.block.1.norm2.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.48 GB, first_stage_model.encoder.down.2.block.1.norm2.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.48 GB, first_stage_model.encoder.down.2.block.1.conv2.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.49 GB, first_stage_model.encoder.down.2.block.1.conv2.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.49 GB, first_stage_model.encoder.down.2.downsample.conv.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.49 GB, first_stage_model.encoder.down.2.downsample.conv.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.49 GB, first_stage_model.encoder.down.3.block.0.norm1.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.49 GB, first_stage_model.encoder.down.3.block.0.norm1.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.49 GB, first_stage_model.encoder.down.3.block.0.conv1.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.50 GB, first_stage_model.encoder.down.3.block.0.conv1.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.50 GB, first_stage_model.encoder.down.3.block.0.norm2.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.50 GB, first_stage_model.encoder.down.3.block.0.norm2.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.50 GB, first_stage_model.encoder.down.3.block.0.conv2.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.51 GB, first_stage_model.encoder.down.3.block.0.conv2.bias:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]  
ram used:  3.51 GB, first_stage_model.encoder.down.3.block.1.norm1.weight:  65%|██████▍   | 730/1131 [00:01<00:00, 720.24it/s]
ram used:  3.51 GB, first_stage_model.encoder.down.3.block.1.norm1.bias:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]  
ram used:  3.51 GB, first_stage_model.encoder.down.3.block.1.conv1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.52 GB, first_stage_model.encoder.down.3.block.1.conv1.bias:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]  
ram used:  3.52 GB, first_stage_model.encoder.down.3.block.1.norm2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.52 GB, first_stage_model.encoder.down.3.block.1.norm2.bias:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]  
ram used:  3.52 GB, first_stage_model.encoder.down.3.block.1.conv2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.53 GB, first_stage_model.encoder.down.3.block.1.conv2.bias:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]  
ram used:  3.53 GB, first_stage_model.encoder.mid.block_1.norm1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s] 
ram used:  3.53 GB, first_stage_model.encoder.mid.block_1.norm1.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.53 GB, first_stage_model.encoder.mid.block_1.conv1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.54 GB, first_stage_model.encoder.mid.block_1.conv1.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.54 GB, first_stage_model.encoder.mid.block_1.norm2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.54 GB, first_stage_model.encoder.mid.block_1.norm2.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.54 GB, first_stage_model.encoder.mid.block_1.conv2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.block_1.conv2.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.norm.weight  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.norm.bias    :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.q.weight     :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.q.bias       :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.k.weight     :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.k.bias       :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.v.weight     :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.v.bias       :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.55 GB, first_stage_model.encoder.mid.attn_1.proj_out.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.56 GB, first_stage_model.encoder.mid.attn_1.proj_out.bias:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]  
ram used:  3.56 GB, first_stage_model.encoder.mid.block_2.norm1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.56 GB, first_stage_model.encoder.mid.block_2.norm1.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.56 GB, first_stage_model.encoder.mid.block_2.conv1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.mid.block_2.conv1.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.mid.block_2.norm2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.mid.block_2.norm2.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.mid.block_2.conv2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.mid.block_2.conv2.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.norm_out.weight         :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.norm_out.bias           :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.conv_out.weight         :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.encoder.conv_out.bias           :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.decoder.conv_in.weight          :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.decoder.conv_in.bias            :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.decoder.mid.block_1.norm1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.decoder.mid.block_1.norm1.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.57 GB, first_stage_model.decoder.mid.block_1.conv1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.58 GB, first_stage_model.decoder.mid.block_1.conv1.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.58 GB, first_stage_model.decoder.mid.block_1.norm2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.58 GB, first_stage_model.decoder.mid.block_1.norm2.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.58 GB, first_stage_model.decoder.mid.block_1.conv2.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.59 GB, first_stage_model.decoder.mid.block_1.conv2.bias  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.59 GB, first_stage_model.decoder.mid.attn_1.norm.weight  :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.59 GB, first_stage_model.decoder.mid.attn_1.norm.bias    :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.59 GB, first_stage_model.decoder.mid.attn_1.q.weight     :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.59 GB, first_stage_model.decoder.mid.attn_1.q.bias       :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.59 GB, first_stage_model.decoder.mid.attn_1.k.weight     :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.attn_1.k.bias       :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.attn_1.v.weight     :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.attn_1.v.bias       :  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.attn_1.proj_out.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.attn_1.proj_out.bias:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]  
ram used:  3.60 GB, first_stage_model.decoder.mid.block_2.norm1.weight:  65%|██████▍   | 730/1131 [00:02<00:00, 720.24it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.block_2.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.block_2.norm1.bias  :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.60 GB, first_stage_model.decoder.mid.block_2.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.61 GB, first_stage_model.decoder.mid.block_2.conv1.bias  :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.61 GB, first_stage_model.decoder.mid.block_2.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.61 GB, first_stage_model.decoder.mid.block_2.norm2.bias  :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.61 GB, first_stage_model.decoder.mid.block_2.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.mid.block_2.conv2.bias  :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.nin_shortcut.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.0.nin_shortcut.bias:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]  
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]     
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.1.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.0.block.2.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.1.block.0.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.62 GB, first_stage_model.decoder.up.1.block.0.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.62 GB, first_stage_model.decoder.up.1.block.0.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.nin_shortcut.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.0.nin_shortcut.bias:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]  
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]     
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.1.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.2.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.2.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.63 GB, first_stage_model.decoder.up.1.block.2.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.64 GB, first_stage_model.decoder.up.1.block.2.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.64 GB, first_stage_model.decoder.up.1.block.2.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.64 GB, first_stage_model.decoder.up.1.block.2.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.64 GB, first_stage_model.decoder.up.1.block.2.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.64 GB, first_stage_model.decoder.up.1.block.2.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.64 GB, first_stage_model.decoder.up.1.upsample.conv.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.64 GB, first_stage_model.decoder.up.1.upsample.conv.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.64 GB, first_stage_model.decoder.up.2.block.0.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.64 GB, first_stage_model.decoder.up.2.block.0.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.64 GB, first_stage_model.decoder.up.2.block.0.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.65 GB, first_stage_model.decoder.up.2.block.0.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.65 GB, first_stage_model.decoder.up.2.block.0.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.65 GB, first_stage_model.decoder.up.2.block.0.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.65 GB, first_stage_model.decoder.up.2.block.0.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.66 GB, first_stage_model.decoder.up.2.block.0.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.66 GB, first_stage_model.decoder.up.2.block.1.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.66 GB, first_stage_model.decoder.up.2.block.1.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.66 GB, first_stage_model.decoder.up.2.block.1.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.67 GB, first_stage_model.decoder.up.2.block.1.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.67 GB, first_stage_model.decoder.up.2.block.1.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.67 GB, first_stage_model.decoder.up.2.block.1.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.67 GB, first_stage_model.decoder.up.2.block.1.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.68 GB, first_stage_model.decoder.up.2.block.1.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.68 GB, first_stage_model.decoder.up.2.block.2.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.68 GB, first_stage_model.decoder.up.2.block.2.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.68 GB, first_stage_model.decoder.up.2.block.2.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.69 GB, first_stage_model.decoder.up.2.block.2.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.69 GB, first_stage_model.decoder.up.2.block.2.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.69 GB, first_stage_model.decoder.up.2.block.2.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.69 GB, first_stage_model.decoder.up.2.block.2.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.70 GB, first_stage_model.decoder.up.2.block.2.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.70 GB, first_stage_model.decoder.up.2.upsample.conv.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.71 GB, first_stage_model.decoder.up.2.upsample.conv.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.71 GB, first_stage_model.decoder.up.3.block.0.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.71 GB, first_stage_model.decoder.up.3.block.0.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.71 GB, first_stage_model.decoder.up.3.block.0.conv1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.72 GB, first_stage_model.decoder.up.3.block.0.conv1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.72 GB, first_stage_model.decoder.up.3.block.0.norm2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.72 GB, first_stage_model.decoder.up.3.block.0.norm2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.72 GB, first_stage_model.decoder.up.3.block.0.conv2.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.0.conv2.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.norm1.weight:  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s]
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.norm1.bias :  72%|███████▏  | 814/1131 [00:02<00:00, 753.99it/s] 
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.norm1.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.conv1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.conv1.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.norm2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.norm2.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.73 GB, first_stage_model.decoder.up.3.block.1.conv2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.74 GB, first_stage_model.decoder.up.3.block.1.conv2.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.74 GB, first_stage_model.decoder.up.3.block.2.norm1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.74 GB, first_stage_model.decoder.up.3.block.2.norm1.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.74 GB, first_stage_model.decoder.up.3.block.2.conv1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.75 GB, first_stage_model.decoder.up.3.block.2.conv1.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.75 GB, first_stage_model.decoder.up.3.block.2.norm2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.75 GB, first_stage_model.decoder.up.3.block.2.norm2.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.75 GB, first_stage_model.decoder.up.3.block.2.conv2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.76 GB, first_stage_model.decoder.up.3.block.2.conv2.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.76 GB, first_stage_model.decoder.up.3.upsample.conv.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.decoder.up.3.upsample.conv.bias :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s] 
ram used:  3.77 GB, first_stage_model.decoder.norm_out.weight         :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.decoder.norm_out.bias           :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.decoder.conv_out.weight         :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.decoder.conv_out.bias           :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.quant_conv.weight               :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.quant_conv.bias                 :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.post_quant_conv.weight          :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, first_stage_model.post_quant_conv.bias            :  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.77 GB, cond_stage_model.transformer.text_model.embeddings.token_embedding.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.92 GB, cond_stage_model.transformer.text_model.embeddings.position_embedding.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.92 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.k_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.k_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.v_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.v_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.q_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.q_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.out_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.out_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]     
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.93 GB, cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.94 GB, cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.94 GB, cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.95 GB, cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc2.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.95 GB, cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.95 GB, cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm2.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.95 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.k_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.k_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.v_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.v_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.q_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.q_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.out_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.out_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]     
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.96 GB, cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.97 GB, cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.97 GB, cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.98 GB, cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc2.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.98 GB, cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.98 GB, cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm2.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.98 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.k_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.98 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.k_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.98 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.v_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.v_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.q_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.q_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.out_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.out_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]     
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  3.99 GB, cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.00 GB, cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.00 GB, cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc2.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm2.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm2.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.k_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.k_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.v_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.v_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.01 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.q_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.q_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.out_proj.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.out_proj.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm1.weight:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]     
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm1.bias:  81%|████████  | 911/1131 [00:02<00:00, 815.98it/s]  
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.02 GB, cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.03 GB, cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.03 GB, cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.k_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.k_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.v_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.v_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.04 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.q_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.05 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.q_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.05 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.out_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.05 GB, cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.out_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.05 GB, cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]     
ram used:  4.05 GB, cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.05 GB, cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.06 GB, cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.06 GB, cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.k_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.k_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.v_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.v_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.q_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.q_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.07 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.out_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.08 GB, cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.out_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.08 GB, cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]     
ram used:  4.08 GB, cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.08 GB, cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.09 GB, cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.09 GB, cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.09 GB, cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.09 GB, cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.09 GB, cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.09 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.k_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.k_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.v_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.v_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.q_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.q_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.out_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.out_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]     
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.10 GB, cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.11 GB, cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.11 GB, cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.12 GB, cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.12 GB, cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.12 GB, cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.12 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.k_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.k_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.v_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.v_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.q_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.q_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.out_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.out_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]     
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.13 GB, cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc1.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.14 GB, cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc1.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.14 GB, cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.15 GB, cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.15 GB, cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm2.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.15 GB, cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm2.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.15 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.k_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.15 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.k_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.15 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.v_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.v_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.q_proj.weight:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.q_proj.bias:  88%|████████▊ | 995/1131 [00:02<00:00, 668.70it/s]  
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.q_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.out_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.out_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]     
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.16 GB, cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.17 GB, cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.17 GB, cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.k_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.k_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.v_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.v_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.18 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.q_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.19 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.q_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.19 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.out_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.19 GB, cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.out_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.19 GB, cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]     
ram used:  4.19 GB, cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.19 GB, cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.20 GB, cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.20 GB, cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.k_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.k_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.v_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.v_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.21 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.q_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.22 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.q_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.22 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.out_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.22 GB, cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.out_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.22 GB, cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]     
ram used:  4.22 GB, cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.22 GB, cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.23 GB, cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.23 GB, cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.k_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.k_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.v_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.v_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.q_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.q_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.24 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.out_proj.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.25 GB, cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.out_proj.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.25 GB, cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]     
ram used:  4.25 GB, cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.25 GB, cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc1.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.26 GB, cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc1.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.26 GB, cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.26 GB, cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.26 GB, cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm2.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]
ram used:  4.26 GB, cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm2.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.26 GB, cond_stage_model.transformer.text_model.final_layer_norm.weight:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]           
ram used:  4.26 GB, cond_stage_model.transformer.text_model.final_layer_norm.bias:  95%|█████████▍| 1071/1131 [00:02<00:00, 691.09it/s]  
ram used:  4.26 GB, cond_stage_model.transformer.text_model.final_layer_norm.bias: 100%|██████████| 1131/1131 [00:02<00:00, 448.82it/s]
loaded weights in 2523.68 ms, 4.26 GB loaded at 1.69 GB/s
3260.64 ms

external/external_cl_half_max.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_cl_half_max.py", line 1, in <module>
    from tinygrad.runtime.ops_gpu import CLDevice, CLProgram, compile_cl
ImportError: cannot import name 'compile_cl' from 'tinygrad.runtime.ops_gpu' (/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_gpu.py)

external/external_jit_failure.py

0
1
2
3
4
5
6
7
8
9

external/external_llama_eval.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_llama_eval.py", line 1, in <module>
    from lm_eval.base import BaseLM
ModuleNotFoundError: No module named 'lm_eval'

external/external_model_benchmark.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_model_benchmark.py", line 7, in <module>
    import onnxruntime as ort
ModuleNotFoundError: No module named 'onnxruntime'

external/external_multi_gpu.py

GPU devices HIP:0 HIP:1
GPU initial sync:   0.23 ms
CPU creation:   4.17 ms, 515.45 GB/sec
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_multi_gpu.py", line 22, in <module>
    c0 = (Tensor.ones(sz, device="clang")/2).realize()
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 116, in realize
    run_schedule(self.lazydata.schedule())
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 48, in run_schedule
    prg = lower_schedule_item(si)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 39, in lower_schedule_item
    return Device[si.out.device].get_runner(si.ast)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 348, in get_runner
    def get_runner(self, ast:LazyOp) -> CompiledASTRunner: return self.to_program(self.get_linearizer(ast))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_clang.py", line 15, in compile
    subprocess.check_output(args=('clang -shared -march=native -O2 -Wall -Werror -x c -fPIC - -o '+ \
  File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 503, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'clang'

external/external_osx_profiling.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_osx_profiling.py", line 1, in <module>
    from tinygrad.runtime.ops_gpu import CLProgram, CL, CLBuffer
ImportError: cannot import name 'CL' from 'tinygrad.runtime.ops_gpu' (/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_gpu.py)

external/external_test_dist_collectives.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_dist_collectives.py", line 6, in <module>
    from extra.dist import collectives
  File "/home/jebba/devel/tinygrad/tinygrad/extra/dist/collectives.py", line 4, in <module>
    from extra.dist import world
  File "/home/jebba/devel/tinygrad/tinygrad/extra/dist/world.py", line 6, in <module>
    from tinygrad.runtime.lib import RawBuffer, RawBufferCopyInOut
ModuleNotFoundError: No module named 'tinygrad.runtime.lib'

external/external_test_dist_world.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_dist_world.py", line 6, in <module>
    from extra.dist import world
  File "/home/jebba/devel/tinygrad/tinygrad/extra/dist/world.py", line 6, in <module>
    from tinygrad.runtime.lib import RawBuffer, RawBufferCopyInOut
ModuleNotFoundError: No module named 'tinygrad.runtime.lib'

external/external_test_embedding.py


external/external_test_example.py

.
======================================================================
ERROR: test_2_plus_3 (__main__.TestExample) (device='CLANG')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_example.py", line 21, in ret
    fxn(self, device)
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_example.py", line 37, in test_2_plus_3
    print(f"{a.numpy()} + {b.numpy()} = {result.numpy()}")
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 155, in numpy
    return np.frombuffer(self._data(), dtype=self.dtype.np).reshape(self.shape)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 142, in _data
    return cast(Buffer, t.cast(t.dtype.scalar()).contiguous().realize().lazydata.base.realized).as_buffer()
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 116, in realize
    run_schedule(self.lazydata.schedule())
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 48, in run_schedule
    prg = lower_schedule_item(si)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 39, in lower_schedule_item
    return Device[si.out.device].get_runner(si.ast)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 348, in get_runner
    def get_runner(self, ast:LazyOp) -> CompiledASTRunner: return self.to_program(self.get_linearizer(ast))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_clang.py", line 15, in compile
    subprocess.check_output(args=('clang -shared -march=native -O2 -Wall -Werror -x c -fPIC - -o '+ \
  File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 503, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'clang'

======================================================================
ERROR: test_example_matmul (__main__.TestExample) (device='CLANG')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_example.py", line 21, in ret
    fxn(self, device)
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_example.py", line 66, in test_example_matmul
    x.grad.numpy()  # dz/dx
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 155, in numpy
    return np.frombuffer(self._data(), dtype=self.dtype.np).reshape(self.shape)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 142, in _data
    return cast(Buffer, t.cast(t.dtype.scalar()).contiguous().realize().lazydata.base.realized).as_buffer()
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 116, in realize
    run_schedule(self.lazydata.schedule())
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 48, in run_schedule
    prg = lower_schedule_item(si)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 39, in lower_schedule_item
    return Device[si.out.device].get_runner(si.ast)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 348, in get_runner
    def get_runner(self, ast:LazyOp) -> CompiledASTRunner: return self.to_program(self.get_linearizer(ast))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_clang.py", line 15, in compile
    subprocess.check_output(args=('clang -shared -march=native -O2 -Wall -Werror -x c -fPIC - -o '+ \
  File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 503, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'clang'

======================================================================
ERROR: test_example_readme (__main__.TestExample) (device='CLANG')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_example.py", line 21, in ret
    fxn(self, device)
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_example.py", line 47, in test_example_readme
    x.grad.numpy()  # dz/dx
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 155, in numpy
    return np.frombuffer(self._data(), dtype=self.dtype.np).reshape(self.shape)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 142, in _data
    return cast(Buffer, t.cast(t.dtype.scalar()).contiguous().realize().lazydata.base.realized).as_buffer()
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/tensor.py", line 116, in realize
    run_schedule(self.lazydata.schedule())
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 48, in run_schedule
    prg = lower_schedule_item(si)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/realize.py", line 39, in lower_schedule_item
    return Device[si.out.device].get_runner(si.ast)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 348, in get_runner
    def get_runner(self, ast:LazyOp) -> CompiledASTRunner: return self.to_program(self.get_linearizer(ast))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_clang.py", line 15, in compile
    subprocess.check_output(args=('clang -shared -march=native -O2 -Wall -Werror -x c -fPIC - -o '+ \
  File "/usr/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 503, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'clang'

----------------------------------------------------------------------
Ran 4 tests in 4.673s

FAILED (errors=3)
TORCH
[2] + [3] = [5]
GPU
[2] + [3] = [5]
PYTHON
[2] + [3] = [5]
CLANG
HIP
[2] + [3] = [5]
METAL
WARNING: METAL test isn't running
LLVM
[2] + [3] = [5]
CUDA
WARNING: CUDA test isn't running
CPU
[2] + [3] = [5]
TORCH
GPU
PYTHON
CLANG
HIP
METAL
WARNING: METAL test isn't running
LLVM
CUDA
WARNING: CUDA test isn't running
CPU
TORCH
GPU
PYTHON
CLANG
HIP
METAL
WARNING: METAL test isn't running
LLVM
CUDA
WARNING: CUDA test isn't running
CPU
TORCH
GPU
PYTHON
CLANG
HIP
METAL
WARNING: METAL test isn't running
LLVM
CUDA
WARNING: CUDA test isn't running
CPU

external/external_test_image.py

.....
----------------------------------------------------------------------
Ran 5 tests in 1.683s

OK

external/external_test_jit_on_models.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_jit_on_models.py", line 7, in <module>
    from test.helpers import derandomize_model
ModuleNotFoundError: No module named 'test.helpers'

external/external_test_onnx_backend.py

.s.s.s.s.s.s.s.sss.s.s.s.sss.sss.sss.sss.s.sssssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sprepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Abs shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Acos shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Acos shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Acosh shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Acosh shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['R', 'T', 'X', 'G', 'H']
0: op Adagrad shape [(), (), (1,), (1,), (1,)] opt {'decay_factor': 0.10000000149011612, 'epsilon': 9.999999747378752e-06, 'norm_coefficient': 0.0010000000474974513}
prepare <class '__main__.TinygradBackend'> CPU ['R', 'T', 'X1', 'X2', 'G1', 'G2', 'H1', 'H2']
0: op Adagrad shape [(), (), (1,), (2,), (1,), (2,), (1,), (2,)] opt {'decay_factor': 0.10000000149011612, 'epsilon': 9.999999747378752e-06, 'norm_coefficient': 0.0010000000474974513}
prepare <class '__main__.TinygradBackend'> CPU ['R', 'T', 'X', 'G', 'V', 'H']
0: op Adam shape [(), (), (2,), (2,), (2,), (2,)] opt {'alpha': 0.949999988079071, 'beta': 0.10000000149011612, 'epsilon': 1.0000000116860974e-07, 'norm_coefficient': 0.0010000000474974513}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Add shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Add shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Add shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['theta', 'size']
0: op AffineGrid shape [(2, 2, 3), (4,)] opt {'align_corners': 1}
prepare <class '__main__.TinygradBackend'> CPU ['theta', 'size']
0: op AffineGrid shape [(2, 2, 3), (4,)] opt {'align_corners': 0}
prepare <class '__main__.TinygradBackend'> CPU ['theta', 'size']
0: op AffineGrid shape [(2, 3, 4), (5,)] opt {'align_corners': 1}
prepare <class '__main__.TinygradBackend'> CPU ['theta', 'size']
0: op AffineGrid shape [(2, 3, 4), (5,)] opt {'align_corners': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op ArrayFeatureExtractor shape [(3, 4), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Binarizer shape [(3, 4, 5)] opt {'threshold': 1.0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4), (3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4, 5, 6), (3, 4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4, 5), (4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4, 5, 6), (5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(3, 4, 5, 6), (4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op And shape [(1, 4, 1, 6), (3, 1, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'axis': 1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'axis': 1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'axis': -1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'axis': -1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'axis': -1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'axis': -1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'axis': 1, 'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 2)] opt {'axis': 1, 'keepdims': 0, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMax shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 0, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'axis': 1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'axis': 1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'axis': -1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'axis': -1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'axis': -1, 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'axis': -1, 'keepdims': 1, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'axis': 1, 'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 2)] opt {'axis': 1, 'keepdims': 0, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ArgMin shape [(2, 3, 4)] opt {'axis': 1, 'keepdims': 0, 'select_last_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Asin shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Asin shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Asinh shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Asinh shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Atan shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Atan shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Atanh shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Atanh shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 32)] opt {'kernel_shape': (2,)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 4, 4)] opt {'ceil_mode': 1, 'kernel_shape': (3, 3), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssss.s.s.s.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.s.sssssssss.sssssssssssssssssss.sssssssssssssssssssssssssssssssssssssss.s.s.s.s.s.sssssssssssssssssssss.s.sssssssssssssssssssssssssssss.s.s.s.s.s.s.s.s.s0: op AveragePool shape [(1, 3, 32, 32)] opt {'kernel_shape': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 4, 4)] opt {'ceil_mode': 1, 'dilations': (2, 2), 'kernel_shape': (2, 2), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 28, 28)] opt {'count_include_pad': 1, 'kernel_shape': (3, 3), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 28, 28)] opt {'kernel_shape': (3, 3), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 5, 5)] opt {'count_include_pad': 1, 'kernel_shape': (5, 5), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 5, 5)] opt {'kernel_shape': (5, 5), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 5, 5)] opt {'auto_pad': 'SAME_UPPER', 'kernel_shape': (3, 3), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 5, 5)] opt {'kernel_shape': (2, 2), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 32, 32)] opt {'auto_pad': 'SAME_LOWER', 'kernel_shape': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 32, 32)] opt {'auto_pad': 'SAME_UPPER', 'kernel_shape': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 32, 32)] opt {'kernel_shape': (5, 5), 'strides': (3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 3, 32, 32, 32)] opt {'kernel_shape': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 32, 32, 32)] opt {'ceil_mode': 0, 'count_include_pad': 0, 'dilations': (2, 2, 2), 'kernel_shape': (5, 5, 5), 'strides': (3, 3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 32, 32, 32)] opt {'ceil_mode': 1, 'count_include_pad': 0, 'dilations': (2, 2, 2), 'kernel_shape': (5, 5, 5), 'strides': (3, 3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 32, 32, 32)] opt {'ceil_mode': 0, 'count_include_pad': 1, 'dilations': (2, 2, 2), 'kernel_shape': (5, 5, 5), 'strides': (3, 3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 32, 32, 32)] opt {'ceil_mode': 1, 'count_include_pad': 1, 'dilations': (2, 2, 2), 'kernel_shape': (5, 5, 5), 'strides': (3, 3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op AveragePool shape [(1, 1, 4, 4, 4)] opt {'ceil_mode': 1, 'dilations': (2, 2, 2), 'kernel_shape': (2, 2, 2), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'W']
0: op Conv shape [(1, 1, 5, 5), (1, 1, 3, 3)] opt {'kernel_shape': (3, 3), 'pads': (1, 1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'W']
0: op Conv shape [(1, 1, 5, 5), (1, 1, 3, 3)] opt {'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 's', 'bias', 'mean', 'var']
0: op BatchNormalization shape [(2, 3, 4, 5), (3,), (3,), (3,), (3,)] opt {'epsilon': 0.009999999776482582}
prepare <class '__main__.TinygradBackend'> CPU ['x', 's', 'bias', 'mean', 'var']
0: op BatchNormalization shape [(2, 3, 4, 5), (3,), (3,), (3,), (3,)] opt {'epsilon': 0.009999999776482582, 'training_mode': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 's', 'bias', 'mean', 'var']
0: op BatchNormalization shape [(2, 3, 4, 5), (3,), (3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 's', 'bias', 'mean', 'var']
0: op BatchNormalization shape [(2, 3, 4, 5), (3,), (3,), (3,), (3,)] opt {'training_mode': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Cast shape [(3, 4)] opt {'to': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Cast shape [(3, 4)] opt {'to': 11}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Cast shape [(3, 4)] opt {'to': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Cast shape [(3, 4)] opt {'to': 11}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op CastLike shape [(3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op Cast shape [(3, 4)] opt {'to': 1, 'saturate': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op CastLike shape [(3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op Cast shape [(3, 4)] opt {'to': 11, 'saturate': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op CastLike shape [(3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op Cast shape [(3, 4)] opt {'to': 1, 'saturate': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op CastLike shape [(3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'like']
0: op Cast shape [(3, 4)] opt {'to': 11, 'saturate': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Ceil shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Ceil shape [(2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Celu shape [(3, 3, 3, 1)] opt {'alpha': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Div shape [(3, 3, 3, 1), (1,)] opt {}
2: op Elu shape [(3, 3, 3, 1)] opt {'alpha': 1.0}
3: op Mul shape [(1,), (3, 3, 3, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op CenterCropPad shape [(20, 8, 3), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Shape shape [(20, 8, 3)] opt {}
2: op Max shape [(3,), (3,)] opt {}
3: op Sub shape [(3,), (3,)] opt {}
4: op Div shape [(3,), (1,)] opt {}
5: op Sub shape [(3,), (3,)] opt {}
6: op Concat shape [(3,), (3,)] opt {'axis': 0}
7: op Pad shape [(20, 8, 3), (6,)] opt {}
8: op Shape shape [(20, 10, 3)] opt {}
9: op Sub shape [(3,), (3,)] opt {}
10: op Div shape [(3,), (1,)] opt {}
11: op Add shape [(3,), (3,)] opt {}
12: op Slice shape [(20, 10, 3), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op CenterCropPad shape [(3, 20, 8), (2,)] opt {'axes': (1, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value_ints': (1, 2)}
2: op Shape shape [(3, 20, 8)] opt {}
3: op Gather shape [(3,), (2,)] opt {}
4: op Max shape [(2,), (2,)] opt {}
5: op Sub shape [(2,), (2,)] opt {}
6: op Div shape [(2,), (1,)] opt {}
7: op Sub shape [(2,), (2,)] opt {}
8: op Concat shape [(2,), (2,)] opt {'axis': 0}
9: op Pad shape [(3, 20, 8), (4,), None, (2,)] opt {}
10: op Shape shape [(3, 20, 9)] opt {}
11: op Gather shape [(3,), (2,)] opt {}
12: op Sub shape [(2,), (2,)] opt {}
13: op Div shape [(2,), (1,)] opt {}
14: op Add shape [(2,), (2,)] opt {}
15: op Slice shape [(3, 20, 9), (2,), (2,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op CenterCropPad shape [(20, 8, 3), (2,)] opt {'axes': (0, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value_ints': (0, 1)}
2: op Shape shape [(20, 8, 3)] opt {}
3: op Gather shape [(3,), (2,)] opt {}
4: op Max shape [(2,), (2,)] opt {}
5: op Sub shape [(2,), (2,)] opt {}
6: op Div shape [(2,), (1,)] opt {}
7: op Sub shape [(2,), (2,)] opt {}
8: op Concat shape [(2,), (2,)] opt {'axis': 0}
9: op Pad shape [(20, 8, 3), (4,), None, (2,)] opt {}
10: op Shape shape [(20, 9, 3)] opt {}
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s11: op Gather shape [(3,), (2,)] opt {}
12: op Sub shape [(2,), (2,)] opt {}
13: op Div shape [(2,), (1,)] opt {}
14: op Add shape [(2,), (2,)] opt {}
15: op Slice shape [(20, 9, 3), (2,), (2,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op CenterCropPad shape [(20, 10, 3), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Shape shape [(20, 10, 3)] opt {}
2: op Max shape [(3,), (3,)] opt {}
3: op Sub shape [(3,), (3,)] opt {}
4: op Div shape [(3,), (1,)] opt {}
5: op Sub shape [(3,), (3,)] opt {}
6: op Concat shape [(3,), (3,)] opt {'axis': 0}
7: op Pad shape [(20, 10, 3), (6,)] opt {}
8: op Shape shape [(20, 10, 3)] opt {}
9: op Sub shape [(3,), (3,)] opt {}
10: op Div shape [(3,), (1,)] opt {}
11: op Add shape [(3,), (3,)] opt {}
12: op Slice shape [(20, 10, 3), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op CenterCropPad shape [(20, 8, 3), (2,)] opt {'axes': (-3, -2)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value_ints': (-3, -2)}
2: op Shape shape [(20, 8, 3)] opt {}
3: op Gather shape [(3,), (2,)] opt {}
4: op Max shape [(2,), (2,)] opt {}
5: op Sub shape [(2,), (2,)] opt {}
6: op Div shape [(2,), (1,)] opt {}
7: op Sub shape [(2,), (2,)] opt {}
8: op Concat shape [(2,), (2,)] opt {'axis': 0}
9: op Pad shape [(20, 8, 3), (4,), None, (2,)] opt {}
10: op Shape shape [(20, 9, 3)] opt {}
11: op Gather shape [(3,), (2,)] opt {}
12: op Sub shape [(2,), (2,)] opt {}
13: op Div shape [(2,), (1,)] opt {}
14: op Add shape [(2,), (2,)] opt {}
15: op Slice shape [(20, 9, 3), (2,), (2,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op CenterCropPad shape [(10, 7, 3), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'shape']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Shape shape [(10, 7, 3)] opt {}
2: op Max shape [(3,), (3,)] opt {}
3: op Sub shape [(3,), (3,)] opt {}
4: op Div shape [(3,), (1,)] opt {}
5: op Sub shape [(3,), (3,)] opt {}
6: op Concat shape [(3,), (3,)] opt {'axis': 0}
7: op Pad shape [(10, 7, 3), (6,)] opt {}
8: op Shape shape [(20, 10, 3)] opt {}
9: op Sub shape [(3,), (3,)] opt {}
10: op Div shape [(3,), (1,)] opt {}
11: op Add shape [(3,), (3,)] opt {}
12: op Slice shape [(20, 10, 3), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Clip shape [(3, 4, 5), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Clip shape [(3,), None, None] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Identity shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Clip shape [(3,), None, None] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Identity shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'max']
0: op Clip shape [(3, 4, 5), None, ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'max']
0: op Less shape [(), (3, 4, 5)] opt {}
1: op Where shape [(3, 4, 5), (), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min']
0: op Clip shape [(3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min']
0: op Less shape [(3, 4, 5), ()] opt {}
1: op Where shape [(3, 4, 5), (), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'max']
0: op Clip shape [(3, 4, 5), None, ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'max']
0: op Less shape [(), (3, 4, 5)] opt {}
1: op Where shape [(3, 4, 5), (), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min']
0: op Clip shape [(3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min']
0: op Less shape [(3, 4, 5), ()] opt {}
1: op Where shape [(3, 4, 5), (), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Clip shape [(3,), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Less shape [(3,), ()] opt {}
1: op Where shape [(3,), (), (3,)] opt {}
2: op Less shape [(), (3,)] opt {}
3: op Where shape [(3,), (), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Less shape [(3, 4, 5), ()] opt {}
1: op Where shape [(3, 4, 5), (), (3, 4, 5)] opt {}
2: op Less shape [(), (3, 4, 5)] opt {}
3: op Where shape [(3, 4, 5), (), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Clip shape [(3,), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Less shape [(3,), ()] opt {}
1: op Where shape [(3,), (), (3,)] opt {}
2: op Less shape [(), (3,)] opt {}
3: op Where shape [(3,), (), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Clip shape [(3,), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Less shape [(3,), ()] opt {}
1: op Where shape [(3,), (), (3,)] opt {}
2: op Less shape [(), (3,)] opt {}
3: op Where shape [(3,), (), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Clip shape [(3,), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'min', 'max']
0: op Less shape [(3,), ()] opt {}
1: op Where shape [(3,), (), (3,)] opt {}
2: op Less shape [(), (3,)] opt {}
3: op Where shape [(3,), (), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'condition']
0: op Compress shape [(3, 2), (3,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'condition']
0: op Compress shape [(3, 2), (2,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'condition']
0: op Compress shape [(3, 2), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'condition']
0: op Compress shape [(3, 2), (2,)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2,), (2,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2,), (2,)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2), (2, 2)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2), (2, 2)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2), (2, 2)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2), (2, 2)] opt {'axis': -2}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2, 2), (2, 2, 2)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2, 2), (2, 2, 2)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2, 2), (2, 2, 2)] opt {'axis': 2}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2, 2), (2, 2, 2)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2, 2), (2, 2, 2)] opt {'axis': -2}
prepare <class '__main__.TinygradBackend'> CPU ['value0', 'value1']
0: op Concat shape [(2, 2, 2), (2, 2, 2)] opt {'axis': -3}
prepare <class '__main__.TinygradBackend'> CPU []
0: op Constant shape [] opt {'value': <Tensor <LB HIP (5, 5) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'pads', 'value', 'axes']
0: op Pad shape [(1, 3, 4, 5), (4,), (), (2,)] opt {'mode': 'constant'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'pads', 'value']
0: op Pad shape [(1, 3, 4, 5), (8,), ()] opt {'mode': 'constant'}
prepare .s.s.s.s.s.s.s.sssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssss.s.s.s.s.s.s.s.sssssssssssssssss.s.s.s.s.s.s.s.s.s.sssssssssssss.sss.sss.s.s.s.s.s.s.s<class '__main__.TinygradBackend'> CPU ['x', 'pads', 'value', 'axes']
0: op Pad shape [(1, 3, 4, 5), (4,), (), (2,)] opt {'mode': 'constant'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op ConstantOfShape shape [(3,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op ConstantOfShape shape [(2,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'W']
0: op Conv shape [(1, 1, 5, 5), (1, 1, 3, 3)] opt {'auto_pad': 'SAME_LOWER', 'kernel_shape': (3, 3), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'W']
0: op Conv shape [(1, 1, 7, 5), (1, 1, 3, 3)] opt {'kernel_shape': (3, 3), 'pads': (1, 0, 1, 0), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'W']
0: op Conv shape [(1, 1, 7, 5), (1, 1, 3, 3)] opt {'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'W']
0: op Conv shape [(1, 1, 7, 5), (1, 1, 3, 3)] opt {'kernel_shape': (3, 3), 'pads': (1, 1, 1, 1), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3), (1, 2, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 4, 5), (1, 2, 3, 3, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 2, 3, 3)] opt {'auto_pad': 'SAME_UPPER', 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 2, 3, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 1, 2, 2)] opt {'dilations': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 2, 3, 3)] opt {'kernel_shape': (3, 3), 'output_padding': (1, 1), 'output_shape': (10, 8), 'strides': (3, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 2, 3, 3)] opt {'output_shape': (10, 8), 'strides': (3, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 2, 3, 3)] opt {'output_padding': (1, 1), 'strides': (3, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W']
0: op ConvTranspose shape [(1, 1, 3, 3), (1, 2, 3, 3)] opt {'pads': (1, 2, 1, 2), 'strides': (3, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Cos shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Cos shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Cosh shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Cosh shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(5,), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(5,), ()] opt {'exclusive': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(5,), ()] opt {'reverse': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(5,), ()] opt {'exclusive': 1, 'reverse': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(2, 3), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(2, 3), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axis']
0: op CumSum shape [(2, 3), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op DepthToSpace shape [(1, 8, 2, 3)] opt {'blocksize': 2, 'mode': 'CRD'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op DepthToSpace shape [(1, 8, 2, 3)] opt {'blocksize': 2, 'mode': 'DCR'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'x_scale', 'x_zero_point']
0: op DequantizeLinear shape [(1, 3, 3, 2), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'x_scale', 'x_zero_point']
0: op DequantizeLinear shape [(4,), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'x_scale']
0: op DequantizeLinear shape [(5,), ()] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'x_scale']
0: op DequantizeLinear shape [(5,), ()] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'x_scale', 'zero_point']
0: op DequantizeLinear shape [(5,), (), (1,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'x_scale']
0: op DequantizeLinear shape [(5,), ()] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Div shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Div shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Div shape [(2,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Div shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Dropout shape [(3, 4, 5)] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Dropout shape [(3, 4, 5)] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r']
0: op Dropout shape [(3, 4, 5), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Dropout shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r']
0: op Dropout shape [(3, 4, 5), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Dropout shape [(3, 4, 5)] opt {'ratio': 0.20000000298023224}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'pads']
0: op Pad shape [(1, 3, 4, 5), (8,)] opt {'mode': 'edge'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Einsum shape [(5, 2, 3), (5, 3, 4)] opt {'equation': 'bij, bjk -> bik'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Einsum shape [(3, 4)] opt {'equation': 'ij->i'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Einsum shape [(3, 4)] opt {'equation': 'ij->ji'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Elu shape [(3, 4, 5)] opt {'alpha': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Elu shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 1.0}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Less shape [(3, 4, 5), ()] opt {}
7: op Exp shape [(3, 4, 5)] opt {}
8: op Sub shape [(3, 4, 5), ()] opt {}
9: op Mul shape [(), (3, 4, 5)] opt {}
10: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Elu shape [(3,)] opt {'alpha': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 2.0}
1: op CastLike shape [(), (3,)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3,)] opt {}
6: op Less shape [(3,), ()] opt {}
7: op Exp shape [(3,)] opt {}
8: op Sub shape [(3,), ()] opt {}
9: op Mul shape [(), (3,)] opt {}
10: op Where shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 2.0}
1: op CastLike shape [(), (3, 4, 5)] opt {}
.s.s.sssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssss.s.s.s.s.s.s.s.s.s.s2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Less shape [(3, 4, 5), ()] opt {}
7: op Exp shape [(3, 4, 5)] opt {}
8: op Sub shape [(3, 4, 5), ()] opt {}
9: op Mul shape [(), (3, 4, 5)] opt {}
10: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Equal shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Equal shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Erf shape [(1, 3, 32, 32)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Exp shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Exp shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'new_shape']
0: op Expand shape [(3, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'new_shape']
0: op Expand shape [(3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op EyeLike shape [(4, 5)] opt {'dtype': 1, 'k': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op EyeLike shape [(3, 4)] opt {'dtype': 11}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op EyeLike shape [(4, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 2}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 3}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(5, 4, 3, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -2}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -3}
prepare <class '__main__.TinygradBackend'> CPU ['a']
0: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -4}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Floor shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Floor shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op Gather shape [(5, 4, 3, 2), (3,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op Gather shape [(5, 4, 3, 2), (3,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op Gather shape [(3, 3), (1, 2)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op GatherElements shape [(2, 2), (2, 2)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op GatherElements shape [(3, 3), (2, 3)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op GatherElements shape [(3, 3), (2, 3)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'indices']
0: op Gather shape [(10,), (3,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Gelu shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3,)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3,)] opt {}
6: op Sqrt shape [()] opt {}
7: op Div shape [(3,), ()] opt {}
8: op Erf shape [(3,)] opt {}
9: op Sum shape [(), (3,)] opt {}
10: op Mul shape [(), (3,)] opt {}
11: op Mul shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Gelu shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Sqrt shape [()] opt {}
7: op Div shape [(3, 4, 5), ()] opt {}
8: op Erf shape [(3, 4, 5)] opt {}
9: op Sum shape [(), (3, 4, 5)] opt {}
10: op Mul shape [(), (3, 4, 5)] opt {}
11: op Mul shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Gelu shape [(3,)] opt {'approximate': 'tanh'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3,)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3,)] opt {}
6: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
7: op CastLike shape [(), (3,)] opt {}
8: op Sqrt shape [()] opt {}
9: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
10: op CastLike shape [(), (3,)] opt {}
11: op Pow shape [(3,), ()] opt {}
12: op Mul shape [(), (3,)] opt {}
13: op Sum shape [(3,), (3,)] opt {}
14: op Mul shape [(), (3,)] opt {}
15: op Tanh shape [(3,)] opt {}
16: op Sum shape [(), (3,)] opt {}
17: op Mul shape [(), (3,)] opt {}
18: op Mul shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Gelu shape [(3, 4, 5)] opt {'approximate': 'tanh'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
7: op CastLike shape [(), (3, 4, 5)] opt {}
8: op Sqrt shape [()] opt {}
9: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
10: op CastLike shape [(), (3, 4, 5)] opt {}
11: op Pow shape [(3, 4, 5), ()] opt {}
12: op Mul shape [(), (3, 4, 5)] opt {}
13: op Sum shape [(3, 4, 5), (3, 4, 5)] opt {}
14: op Mul shape [(), (3, 4, 5)] opt {}
15: op Tanh shape [(3, 4, 5)] opt {}
16: op Sum shape [(), (3, 4, 5)] opt {}
17: op Mul shape [(), (3, 4, 5)] opt {}
18: op Mul shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(4, 3), (5, 4), (1, 5)] opt {'alpha': 0.25, 'beta': 0.3499999940395355, 'transA': 1, 'transB': 1}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(3, 5), (5, 4), (1, 4)] opt {'alpha': 0.5}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssssssssssssssssss.s.s.s.sssssssssssssssssssssssssssssssssssssss.s.s.s.s.s0: op Gemm shape [(2, 7), (7, 4), (1, 4)] opt {'beta': 0.5}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(3, 6), (6, 4), (3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b']
0: op Gemm shape [(2, 10), (10, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(2, 3), (3, 4), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(3, 7), (7, 3), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(2, 7), (7, 4), (1, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(3, 5), (5, 4), (1, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(6, 3), (6, 4), (1, 4)] opt {'transA': 1}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b', 'c']
0: op Gemm shape [(3, 6), (4, 6), (1, 4)] opt {'transB': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op GlobalAveragePool shape [(1, 3, 5, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op GlobalAveragePool shape [(1, 1, 3, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op GlobalMaxPool shape [(1, 3, 5, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op GlobalMaxPool shape [(1, 1, 3, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Greater shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Greater shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op GreaterOrEqual shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Greater shape [(3, 4, 5), (5,)] opt {}
1: op Equal shape [(3, 4, 5), (5,)] opt {}
2: op Or shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op GreaterOrEqual shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Greater shape [(3, 4, 5), (3, 4, 5)] opt {}
1: op Equal shape [(3, 4, 5), (3, 4, 5)] opt {}
2: op Or shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'scale', 'bias']
0: op GroupNormalization shape [(3, 4, 2, 2), (2,), (2,)] opt {'epsilon': 0.009999999776482582, 'num_groups': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'scale', 'bias']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Cast shape [(1,)] opt {'to': 1}
2: op Shape shape [(3, 4, 2, 2)] opt {}
3: op Shape shape [(3, 4, 2, 2)] opt {'start': 1, 'end': 2}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Div shape [(1,), (1,)] opt {}
6: op Shape shape [(3, 4, 2, 2)] opt {'start': 0, 'end': 1}
7: op Shape shape [(3, 4, 2, 2)] opt {'start': 2}
8: op Concat shape [(1,), (1,), (1,), (2,)] opt {'axis': 0}
9: op Reshape shape [(3, 4, 2, 2), (5,)] opt {}
10: op Constant shape [] opt {'value_ints': (0, 0, -1)}
11: op Reshape shape [(3, 2, 2, 2, 2), (3,)] opt {}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(3, 2, 8), (1,)] opt {}
14: op Mul shape [(3, 2, 8), (3, 2, 8)] opt {}
15: op ReduceMean shape [(3, 2, 8), (1,)] opt {}
16: op Mul shape [(3, 2, 1), (3, 2, 1)] opt {}
17: op Sub shape [(3, 2, 1), (3, 2, 1)] opt {}
18: op Add shape [(3, 2, 1), (1,)] opt {}
19: op Sqrt shape [(3, 2, 1)] opt {}
20: op Sub shape [(3, 2, 8), (3, 2, 1)] opt {}
21: op Div shape [(3, 2, 8), (3, 2, 1)] opt {}
22: op Constant shape [] opt {'value_ints': (1, -1, 1)}
23: op Cast shape [(2,)] opt {'to': 1}
24: op Cast shape [(2,)] opt {'to': 1}
25: op Reshape shape [(2,), (3,)] opt {}
26: op Reshape shape [(2,), (3,)] opt {}
27: op Mul shape [(1, 2, 1), (3, 2, 8)] opt {}
28: op Add shape [(3, 2, 8), (1, 2, 1)] opt {}
29: op Reshape shape [(3, 2, 8), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'scale', 'bias']
0: op GroupNormalization shape [(3, 4, 2, 2), (2,), (2,)] opt {'num_groups': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'scale', 'bias']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Cast shape [(1,)] opt {'to': 1}
2: op Shape shape [(3, 4, 2, 2)] opt {}
3: op Shape shape [(3, 4, 2, 2)] opt {'start': 1, 'end': 2}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Div shape [(1,), (1,)] opt {}
6: op Shape shape [(3, 4, 2, 2)] opt {'start': 0, 'end': 1}
7: op Shape shape [(3, 4, 2, 2)] opt {'start': 2}
8: op Concat shape [(1,), (1,), (1,), (2,)] opt {'axis': 0}
9: op Reshape shape [(3, 4, 2, 2), (5,)] opt {}
10: op Constant shape [] opt {'value_ints': (0, 0, -1)}
11: op Reshape shape [(3, 2, 2, 2, 2), (3,)] opt {}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(3, 2, 8), (1,)] opt {}
14: op Mul shape [(3, 2, 8), (3, 2, 8)] opt {}
15: op ReduceMean shape [(3, 2, 8), (1,)] opt {}
16: op Mul shape [(3, 2, 1), (3, 2, 1)] opt {}
17: op Sub shape [(3, 2, 1), (3, 2, 1)] opt {}
18: op Add shape [(3, 2, 1), (1,)] opt {}
19: op Sqrt shape [(3, 2, 1)] opt {}
20: op Sub shape [(3, 2, 8), (3, 2, 1)] opt {}
21: op Div shape [(3, 2, 8), (3, 2, 1)] opt {}
22: op Constant shape [] opt {'value_ints': (1, -1, 1)}
23: op Cast shape [(2,)] opt {'to': 1}
24: op Cast shape [(2,)] opt {'to': 1}
25: op Reshape shape [(2,), (3,)] opt {}
26: op Reshape shape [(2,), (3,)] opt {}
27: op Mul shape [(1, 2, 1), (3, 2, 8)] opt {}
28: op Add shape [(3, 2, 8), (1, 2, 1)] opt {}
29: op Reshape shape [(3, 2, 8), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op HardSigmoid shape [(3, 4, 5)] opt {'alpha': 0.5, 'beta': 0.6000000238418579}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op HardSigmoid shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 0.20000000298023224}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value_float': 0.5}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
7: op CastLike shape [(), (3, 4, 5)] opt {}
8: op Mul shape [(3, 4, 5), ()] opt {}
9: op Add shape [(3, 4, 5), ()] opt {}
10: op Min shape [(3, 4, 5), ()] opt {}
11: op Max shape [(3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op HardSigmoid shape [(3,)] opt {'alpha': 0.5, 'beta': 0.6000000238418579}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 0.5}
1: op CastLike shape [(), (3,)] opt {}
2: op Constant shape [] opt {'value_float': 0.6000000238418579}
3: op CastLike shape [(), (3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3,)] opt {}
6: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
7: op CastLike shape [(), (3,)] opt {}
8: op Mul shape [(3,), ()] opt {}
9: op Add shape [(3,), ()] opt {}
10: op Min shape [(3,), ()] opt {}
11: op Max shape [(3,), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 0.5}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value_float': 0.6000000238418579}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
.s.s.s.s.s.sssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s6: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
7: op CastLike shape [(), (3, 4, 5)] opt {}
8: op Mul shape [(3, 4, 5), ()] opt {}
9: op Add shape [(3, 4, 5), ()] opt {}
10: op Min shape [(3, 4, 5), ()] opt {}
11: op Max shape [(3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op HardSwish shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op HardSigmoid shape [(3, 4, 5)] opt {'alpha': 0.1666666716337204, 'beta': 0.5}
1: op Mul shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Identity shape [(1, 1, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['opt_in']
0: op Identity shape [[<Tensor <LB HIP (5,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>]] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Identity shape [[<Tensor <LB HIP (1, 1, 2, 2) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>, <Tensor <LB HIP (1, 1, 2, 2) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>]] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(3126,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(1887,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(1058,)] opt {'pixel_format': 'BGR'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(1058,)] opt {'pixel_format': 'Grayscale'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(1058,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(312,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(3085,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(3212,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ImageDecoder shape [(552,)] opt {'pixel_format': 'RGB'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 's', 'bias']
0: op InstanceNormalization shape [(2, 3, 4, 5), (3,), (3,)] opt {'epsilon': 0.009999999776482582}
prepare <class '__main__.TinygradBackend'> CPU ['x', 's', 'bias']
0: op InstanceNormalization shape [(1, 2, 1, 3), (2,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op IsInf shape [(6,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op IsInf shape [(6,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op IsInf shape [(6,)] opt {'detect_positive': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op IsInf shape [(6,)] opt {'detect_negative': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op IsNaN shape [(6,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op IsNaN shape [(6,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(3, 4), (3, 4), (3, 4)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Sub shape [2, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (2,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': 0}
11: op Cast shape [(1, 12)] opt {'to': 1}
12: op ReduceMean shape [(1, 12)] opt {'axes': (1,)}
13: op Mul shape [(1, 12), (1, 12)] opt {}
14: op ReduceMean shape [(1, 12)] opt {'axes': (1,)}
15: op Mul shape [(1, 1), (1, 1)] opt {}
16: op Sub shape [(1, 1), (1, 1)] opt {}
17: op Add shape [(1, 1), ()] opt {}
18: op Sqrt shape [(1, 1)] opt {}
19: op Sub shape [(1, 12), (1, 1)] opt {}
20: op Div shape [(1, 12), (1, 1)] opt {}
21: op Cast shape [(1, 12)] opt {'to': 1}
22: op Flatten shape [(3, 4)] opt {'axis': 0}
23: op Mul shape [(1, 12), (1, 12)] opt {}
24: op Flatten shape [(3, 4)] opt {'axis': 0}
25: op Add shape [(1, 12), (1, 12)] opt {}
26: op Reshape shape [(1, 12), (2,)] opt {}
27: op Reciprocal shape [(1, 1)] opt {}
28: op Reshape shape [(1, 1), (2,)] opt {}
29: op Reshape shape [(1, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Sub shape [2, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (2,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': 0}
11: op Cast shape [(1, 12)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(1, 12), (1,)] opt {}
14: op Mul shape [(1, 12), (1, 12)] opt {}
15: op ReduceMean shape [(1, 12), (1,)] opt {}
16: op Mul shape [(1, 1), (1, 1)] opt {}
17: op Sub shape [(1, 1), (1, 1)] opt {}
18: op Add shape [(1, 1), ()] opt {}
19: op Sqrt shape [(1, 1)] opt {}
20: op Sub shape [(1, 12), (1, 1)] opt {}
21: op Div shape [(1, 12), (1, 1)] opt {}
22: op Cast shape [(1, 12)] opt {'to': 1}
23: op Flatten shape [(3, 4)] opt {'axis': 0}
24: op Mul shape [(1, 12), (1, 12)] opt {}
25: op Flatten shape [(3, 4)] opt {'axis': 0}
26: op Add shape [(1, 12), (1, 12)] opt {}
27: op Reshape shape [(1, 12), (2,)] opt {}
28: op Reciprocal shape [(1, 1)] opt {}
29: op Reshape shape [(1, 1), (2,)] opt {}
30: op Reshape shape [(1, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(3, 4), (4,), (4,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Sub shape [2, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (1,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': 1}
11: op Cast shape [(3, 4)] opt {'to': 1}
12: op ReduceMean shape [(3, 4)] opt {'axes': (1,)}
13: op Mul shape [(3, 4), (3, 4)] opt {}
14: op ReduceMean shape [(3, 4)] opt {'axes': (1,)}
15: op Mul shape [(3, 1), (3, 1)] opt {}
16: op Sub shape [(3, 1), (3, 1)] opt {}
17: op Add shape [(3, 1), ()] opt {}
18: op Sqrt shape [(3, 1)] opt {}
19: op Sub shape [(3, 4), (3, 1)] opt {}
20: op Div shape [(3, 4), (3, 1)] opt {}
21: op Cast shape [(3, 4)] opt {'to': 1}
22: op Flatten shape [(4,)] opt {'axis': 0}
23: op Mul shape [(3, 4), (1, 4)] opt {}
24: op Flatten shape [(4,)] opt {'axis': 0}
.s.s.s.s.s.s.s25: op Add shape [(3, 4), (1, 4)] opt {}
26: op Reshape shape [(3, 4), (2,)] opt {}
27: op Reciprocal shape [(3, 1)] opt {}
28: op Reshape shape [(3, 1), (2,)] opt {}
29: op Reshape shape [(3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Sub shape [2, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (1,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': 1}
11: op Cast shape [(3, 4)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(3, 4), (1,)] opt {}
14: op Mul shape [(3, 4), (3, 4)] opt {}
15: op ReduceMean shape [(3, 4), (1,)] opt {}
16: op Mul shape [(3, 1), (3, 1)] opt {}
17: op Sub shape [(3, 1), (3, 1)] opt {}
18: op Add shape [(3, 1), ()] opt {}
19: op Sqrt shape [(3, 1)] opt {}
20: op Sub shape [(3, 4), (3, 1)] opt {}
21: op Div shape [(3, 4), (3, 1)] opt {}
22: op Cast shape [(3, 4)] opt {'to': 1}
23: op Flatten shape [(4,)] opt {'axis': 0}
24: op Mul shape [(3, 4), (1, 4)] opt {}
25: op Flatten shape [(4,)] opt {'axis': 0}
26: op Add shape [(3, 4), (1, 4)] opt {}
27: op Reshape shape [(3, 4), (2,)] opt {}
28: op Reciprocal shape [(3, 1)] opt {}
29: op Reshape shape [(3, 1), (2,)] opt {}
30: op Reshape shape [(3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(3, 4), (4,), (4,)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (1,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': -1}
11: op Cast shape [(3, 4)] opt {'to': 1}
12: op ReduceMean shape [(3, 4)] opt {'axes': (1,)}
13: op Mul shape [(3, 4), (3, 4)] opt {}
14: op ReduceMean shape [(3, 4)] opt {'axes': (1,)}
15: op Mul shape [(3, 1), (3, 1)] opt {}
16: op Sub shape [(3, 1), (3, 1)] opt {}
17: op Add shape [(3, 1), ()] opt {}
18: op Sqrt shape [(3, 1)] opt {}
19: op Sub shape [(3, 4), (3, 1)] opt {}
20: op Div shape [(3, 4), (3, 1)] opt {}
21: op Cast shape [(3, 4)] opt {'to': 1}
22: op Flatten shape [(4,)] opt {'axis': 0}
23: op Mul shape [(3, 4), (1, 4)] opt {}
24: op Flatten shape [(4,)] opt {'axis': 0}
25: op Add shape [(3, 4), (1, 4)] opt {}
26: op Reshape shape [(3, 4), (2,)] opt {}
27: op Reciprocal shape [(3, 1)] opt {}
28: op Reshape shape [(3, 1), (2,)] opt {}
29: op Reshape shape [(3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (1,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': -1}
11: op Cast shape [(3, 4)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(3, 4), (1,)] opt {}
14: op Mul shape [(3, 4), (3, 4)] opt {}
15: op ReduceMean shape [(3, 4), (1,)] opt {}
16: op Mul shape [(3, 1), (3, 1)] opt {}
17: op Sub shape [(3, 1), (3, 1)] opt {}
18: op Add shape [(3, 1), ()] opt {}
19: op Sqrt shape [(3, 1)] opt {}
20: op Sub shape [(3, 4), (3, 1)] opt {}
21: op Div shape [(3, 4), (3, 1)] opt {}
22: op Cast shape [(3, 4)] opt {'to': 1}
23: op Flatten shape [(4,)] opt {'axis': 0}
24: op Mul shape [(3, 4), (1, 4)] opt {}
25: op Flatten shape [(4,)] opt {'axis': 0}
26: op Add shape [(3, 4), (1, 4)] opt {}
27: op Reshape shape [(3, 4), (2,)] opt {}
28: op Reciprocal shape [(3, 1)] opt {}
29: op Reshape shape [(3, 1), (2,)] opt {}
30: op Reshape shape [(3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(3, 4), (3, 4), (3, 4)] opt {'axis': -2}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (2,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': -2}
11: op Cast shape [(1, 12)] opt {'to': 1}
12: op ReduceMean shape [(1, 12)] opt {'axes': (1,)}
13: op Mul shape [(1, 12), (1, 12)] opt {}
14: op ReduceMean shape [(1, 12)] opt {'axes': (1,)}
15: op Mul shape [(1, 1), (1, 1)] opt {}
16: op Sub shape [(1, 1), (1, 1)] opt {}
17: op Add shape [(1, 1), ()] opt {}
18: op Sqrt shape [(1, 1)] opt {}
19: op Sub shape [(1, 12), (1, 1)] opt {}
20: op Div shape [(1, 12), (1, 1)] opt {}
21: op Cast shape [(1, 12)] opt {'to': 1}
22: op Flatten shape [(3, 4)] opt {'axis': 0}
23: op Mul shape [(1, 12), (1, 12)] opt {}
24: op Flatten shape [(3, 4)] opt {'axis': 0}
25: op Add shape [(1, 12), (1, 12)] opt {}
26: op Reshape shape [(1, 12), (2,)] opt {}
27: op Reciprocal shape [(1, 1)] opt {}
28: op Reshape shape [(1, 1), (2,)] opt {}
29: op Reshape shape [(1, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(3, 4)] opt {}
3: op Size shape [(2,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(2,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (2,)] opt {'axis': 0}
10: op Flatten shape [(3, 4)] opt {'axis': -2}
11: op Cast shape [(1, 12)] opt {'to': 1}
.s.s.s.s.s.s.s12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(1, 12), (1,)] opt {}
14: op Mul shape [(1, 12), (1, 12)] opt {}
15: op ReduceMean shape [(1, 12), (1,)] opt {}
16: op Mul shape [(1, 1), (1, 1)] opt {}
17: op Sub shape [(1, 1), (1, 1)] opt {}
18: op Add shape [(1, 1), ()] opt {}
19: op Sqrt shape [(1, 1)] opt {}
20: op Sub shape [(1, 12), (1, 1)] opt {}
21: op Div shape [(1, 12), (1, 1)] opt {}
22: op Cast shape [(1, 12)] opt {'to': 1}
23: op Flatten shape [(3, 4)] opt {'axis': 0}
24: op Mul shape [(1, 12), (1, 12)] opt {}
25: op Flatten shape [(3, 4)] opt {'axis': 0}
26: op Add shape [(1, 12), (1, 12)] opt {}
27: op Reshape shape [(1, 12), (2,)] opt {}
28: op Reciprocal shape [(1, 1)] opt {}
29: op Reshape shape [(1, 1), (2,)] opt {}
30: op Reshape shape [(1, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 5), (2, 3, 5), (2, 3, 5)] opt {'axis': 0, 'epsilon': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Sub shape [3, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
11: op Cast shape [(1, 30)] opt {'to': 1}
12: op ReduceMean shape [(1, 30)] opt {'axes': (1,)}
13: op Mul shape [(1, 30), (1, 30)] opt {}
14: op ReduceMean shape [(1, 30)] opt {'axes': (1,)}
15: op Mul shape [(1, 1), (1, 1)] opt {}
16: op Sub shape [(1, 1), (1, 1)] opt {}
17: op Add shape [(1, 1), ()] opt {}
18: op Sqrt shape [(1, 1)] opt {}
19: op Sub shape [(1, 30), (1, 1)] opt {}
20: op Div shape [(1, 30), (1, 1)] opt {}
21: op Cast shape [(1, 30)] opt {'to': 1}
22: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
23: op Mul shape [(1, 30), (1, 30)] opt {}
24: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
25: op Add shape [(1, 30), (1, 30)] opt {}
26: op Reshape shape [(1, 30), (3,)] opt {}
27: op Reciprocal shape [(1, 1)] opt {}
28: op Reshape shape [(1, 1), (3,)] opt {}
29: op Reshape shape [(1, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Sub shape [3, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
11: op Cast shape [(1, 30)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(1, 30), (1,)] opt {}
14: op Mul shape [(1, 30), (1, 30)] opt {}
15: op ReduceMean shape [(1, 30), (1,)] opt {}
16: op Mul shape [(1, 1), (1, 1)] opt {}
17: op Sub shape [(1, 1), (1, 1)] opt {}
18: op Add shape [(1, 1), ()] opt {}
19: op Sqrt shape [(1, 1)] opt {}
20: op Sub shape [(1, 30), (1, 1)] opt {}
21: op Div shape [(1, 30), (1, 1)] opt {}
22: op Cast shape [(1, 30)] opt {'to': 1}
23: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
24: op Mul shape [(1, 30), (1, 30)] opt {}
25: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
26: op Add shape [(1, 30), (1, 30)] opt {}
27: op Reshape shape [(1, 30), (3,)] opt {}
28: op Reciprocal shape [(1, 1)] opt {}
29: op Reshape shape [(1, 1), (3,)] opt {}
30: op Reshape shape [(1, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 5), (3, 5), (3, 5)] opt {'axis': 1, 'epsilon': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Sub shape [3, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': 1}
11: op Cast shape [(2, 15)] opt {'to': 1}
12: op ReduceMean shape [(2, 15)] opt {'axes': (1,)}
13: op Mul shape [(2, 15), (2, 15)] opt {}
14: op ReduceMean shape [(2, 15)] opt {'axes': (1,)}
15: op Mul shape [(2, 1), (2, 1)] opt {}
16: op Sub shape [(2, 1), (2, 1)] opt {}
17: op Add shape [(2, 1), ()] opt {}
18: op Sqrt shape [(2, 1)] opt {}
19: op Sub shape [(2, 15), (2, 1)] opt {}
20: op Div shape [(2, 15), (2, 1)] opt {}
21: op Cast shape [(2, 15)] opt {'to': 1}
22: op Flatten shape [(3, 5)] opt {'axis': 0}
23: op Mul shape [(2, 15), (1, 15)] opt {}
24: op Flatten shape [(3, 5)] opt {'axis': 0}
25: op Add shape [(2, 15), (1, 15)] opt {}
26: op Reshape shape [(2, 15), (3,)] opt {}
27: op Reciprocal shape [(2, 1)] opt {}
28: op Reshape shape [(2, 1), (3,)] opt {}
29: op Reshape shape [(2, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Sub shape [3, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': 1}
11: op Cast shape [(2, 15)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(2, 15), (1,)] opt {}
14: op Mul shape [(2, 15), (2, 15)] opt {}
15: op ReduceMean shape [(2, 15), (1,)] opt {}
16: op Mul shape [(2, 1), (2, 1)] opt {}
17: op Sub shape [(2, 1), (2, 1)] opt {}
18: op Add shape [(2, 1), ()] opt {}
19: op Sqrt shape [(2, 1)] opt {}
20: op Sub shape [(2, 15), (2, 1)] opt {}
21: op Div shape [(2, 15), (2, 1)] opt {}
22: op Cast shape [(2, 15)] opt {'to': 1}
23: op Flatten shape [(3, 5)] opt {'axis': 0}
24: op Mul shape [(2, 15), (1, 15)] opt {}
25: op Flatten shape [(3, 5)] opt {'axis': 0}
26: op Add shape [(2, 15), (1, 15)] opt {}
27: op Reshape shape [(2, 15), (3,)] opt {}
28: op Reciprocal shape [(2, 1)] opt {}
29: op Reshape shape [(2, 1), (3,)] opt {}
30: op Reshape shape [(2, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
.s.s.s.s.s.s.s0: op LayerNormalization shape [(2, 3, 5), (5,), (5,)] opt {'axis': 2, 'epsilon': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Sub shape [3, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': 2}
11: op Cast shape [(6, 5)] opt {'to': 1}
12: op ReduceMean shape [(6, 5)] opt {'axes': (1,)}
13: op Mul shape [(6, 5), (6, 5)] opt {}
14: op ReduceMean shape [(6, 5)] opt {'axes': (1,)}
15: op Mul shape [(6, 1), (6, 1)] opt {}
16: op Sub shape [(6, 1), (6, 1)] opt {}
17: op Add shape [(6, 1), ()] opt {}
18: op Sqrt shape [(6, 1)] opt {}
19: op Sub shape [(6, 5), (6, 1)] opt {}
20: op Div shape [(6, 5), (6, 1)] opt {}
21: op Cast shape [(6, 5)] opt {'to': 1}
22: op Flatten shape [(5,)] opt {'axis': 0}
23: op Mul shape [(6, 5), (1, 5)] opt {}
24: op Flatten shape [(5,)] opt {'axis': 0}
25: op Add shape [(6, 5), (1, 5)] opt {}
26: op Reshape shape [(6, 5), (3,)] opt {}
27: op Reciprocal shape [(6, 1)] opt {}
28: op Reshape shape [(6, 1), (3,)] opt {}
29: op Reshape shape [(6, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Sub shape [3, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': 2}
11: op Cast shape [(6, 5)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(6, 5), (1,)] opt {}
14: op Mul shape [(6, 5), (6, 5)] opt {}
15: op ReduceMean shape [(6, 5), (1,)] opt {}
16: op Mul shape [(6, 1), (6, 1)] opt {}
17: op Sub shape [(6, 1), (6, 1)] opt {}
18: op Add shape [(6, 1), ()] opt {}
19: op Sqrt shape [(6, 1)] opt {}
20: op Sub shape [(6, 5), (6, 1)] opt {}
21: op Div shape [(6, 5), (6, 1)] opt {}
22: op Cast shape [(6, 5)] opt {'to': 1}
23: op Flatten shape [(5,)] opt {'axis': 0}
24: op Mul shape [(6, 5), (1, 5)] opt {}
25: op Flatten shape [(5,)] opt {'axis': 0}
26: op Add shape [(6, 5), (1, 5)] opt {}
27: op Reshape shape [(6, 5), (3,)] opt {}
28: op Reciprocal shape [(6, 1)] opt {}
29: op Reshape shape [(6, 1), (3,)] opt {}
30: op Reshape shape [(6, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 5), (5,), (5,)] opt {'axis': -1, 'epsilon': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': -1}
11: op Cast shape [(6, 5)] opt {'to': 1}
12: op ReduceMean shape [(6, 5)] opt {'axes': (1,)}
13: op Mul shape [(6, 5), (6, 5)] opt {}
14: op ReduceMean shape [(6, 5)] opt {'axes': (1,)}
15: op Mul shape [(6, 1), (6, 1)] opt {}
16: op Sub shape [(6, 1), (6, 1)] opt {}
17: op Add shape [(6, 1), ()] opt {}
18: op Sqrt shape [(6, 1)] opt {}
19: op Sub shape [(6, 5), (6, 1)] opt {}
20: op Div shape [(6, 5), (6, 1)] opt {}
21: op Cast shape [(6, 5)] opt {'to': 1}
22: op Flatten shape [(5,)] opt {'axis': 0}
23: op Mul shape [(6, 5), (1, 5)] opt {}
24: op Flatten shape [(5,)] opt {'axis': 0}
25: op Add shape [(6, 5), (1, 5)] opt {}
26: op Reshape shape [(6, 5), (3,)] opt {}
27: op Reciprocal shape [(6, 1)] opt {}
28: op Reshape shape [(6, 1), (3,)] opt {}
29: op Reshape shape [(6, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': -1}
11: op Cast shape [(6, 5)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(6, 5), (1,)] opt {}
14: op Mul shape [(6, 5), (6, 5)] opt {}
15: op ReduceMean shape [(6, 5), (1,)] opt {}
16: op Mul shape [(6, 1), (6, 1)] opt {}
17: op Sub shape [(6, 1), (6, 1)] opt {}
18: op Add shape [(6, 1), ()] opt {}
19: op Sqrt shape [(6, 1)] opt {}
20: op Sub shape [(6, 5), (6, 1)] opt {}
21: op Div shape [(6, 5), (6, 1)] opt {}
22: op Cast shape [(6, 5)] opt {'to': 1}
23: op Flatten shape [(5,)] opt {'axis': 0}
24: op Mul shape [(6, 5), (1, 5)] opt {}
25: op Flatten shape [(5,)] opt {'axis': 0}
26: op Add shape [(6, 5), (1, 5)] opt {}
27: op Reshape shape [(6, 5), (3,)] opt {}
28: op Reciprocal shape [(6, 1)] opt {}
29: op Reshape shape [(6, 1), (3,)] opt {}
30: op Reshape shape [(6, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 5), (3, 5), (3, 5)] opt {'axis': -2, 'epsilon': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': -2}
11: op Cast shape [(2, 15)] opt {'to': 1}
12: op ReduceMean shape [(2, 15)] opt {'axes': (1,)}
.s.s.s.s.s.s.s13: op Mul shape [(2, 15), (2, 15)] opt {}
14: op ReduceMean shape [(2, 15)] opt {'axes': (1,)}
15: op Mul shape [(2, 1), (2, 1)] opt {}
16: op Sub shape [(2, 1), (2, 1)] opt {}
17: op Add shape [(2, 1), ()] opt {}
18: op Sqrt shape [(2, 1)] opt {}
19: op Sub shape [(2, 15), (2, 1)] opt {}
20: op Div shape [(2, 15), (2, 1)] opt {}
21: op Cast shape [(2, 15)] opt {'to': 1}
22: op Flatten shape [(3, 5)] opt {'axis': 0}
23: op Mul shape [(2, 15), (1, 15)] opt {}
24: op Flatten shape [(3, 5)] opt {'axis': 0}
25: op Add shape [(2, 15), (1, 15)] opt {}
26: op Reshape shape [(2, 15), (3,)] opt {}
27: op Reciprocal shape [(2, 1)] opt {}
28: op Reshape shape [(2, 1), (3,)] opt {}
29: op Reshape shape [(2, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': -2}
11: op Cast shape [(2, 15)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(2, 15), (1,)] opt {}
14: op Mul shape [(2, 15), (2, 15)] opt {}
15: op ReduceMean shape [(2, 15), (1,)] opt {}
16: op Mul shape [(2, 1), (2, 1)] opt {}
17: op Sub shape [(2, 1), (2, 1)] opt {}
18: op Add shape [(2, 1), ()] opt {}
19: op Sqrt shape [(2, 1)] opt {}
20: op Sub shape [(2, 15), (2, 1)] opt {}
21: op Div shape [(2, 15), (2, 1)] opt {}
22: op Cast shape [(2, 15)] opt {'to': 1}
23: op Flatten shape [(3, 5)] opt {'axis': 0}
24: op Mul shape [(2, 15), (1, 15)] opt {}
25: op Flatten shape [(3, 5)] opt {'axis': 0}
26: op Add shape [(2, 15), (1, 15)] opt {}
27: op Reshape shape [(2, 15), (3,)] opt {}
28: op Reciprocal shape [(2, 1)] opt {}
29: op Reshape shape [(2, 1), (3,)] opt {}
30: op Reshape shape [(2, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 5), (2, 3, 5), (2, 3, 5)] opt {'axis': -3, 'epsilon': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': -3}
11: op Cast shape [(1, 30)] opt {'to': 1}
12: op ReduceMean shape [(1, 30)] opt {'axes': (1,)}
13: op Mul shape [(1, 30), (1, 30)] opt {}
14: op ReduceMean shape [(1, 30)] opt {'axes': (1,)}
15: op Mul shape [(1, 1), (1, 1)] opt {}
16: op Sub shape [(1, 1), (1, 1)] opt {}
17: op Add shape [(1, 1), ()] opt {}
18: op Sqrt shape [(1, 1)] opt {}
19: op Sub shape [(1, 30), (1, 1)] opt {}
20: op Div shape [(1, 30), (1, 1)] opt {}
21: op Cast shape [(1, 30)] opt {'to': 1}
22: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
23: op Mul shape [(1, 30), (1, 30)] opt {}
24: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
25: op Add shape [(1, 30), (1, 30)] opt {}
26: op Reshape shape [(1, 30), (3,)] opt {}
27: op Reciprocal shape [(1, 1)] opt {}
28: op Reshape shape [(1, 1), (3,)] opt {}
29: op Reshape shape [(1, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 5)] opt {}
3: op Size shape [(3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(3,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 5)] opt {'axis': -3}
11: op Cast shape [(1, 30)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(1, 30), (1,)] opt {}
14: op Mul shape [(1, 30), (1, 30)] opt {}
15: op ReduceMean shape [(1, 30), (1,)] opt {}
16: op Mul shape [(1, 1), (1, 1)] opt {}
17: op Sub shape [(1, 1), (1, 1)] opt {}
18: op Add shape [(1, 1), ()] opt {}
19: op Sqrt shape [(1, 1)] opt {}
20: op Sub shape [(1, 30), (1, 1)] opt {}
21: op Div shape [(1, 30), (1, 1)] opt {}
22: op Cast shape [(1, 30)] opt {'to': 1}
23: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
24: op Mul shape [(1, 30), (1, 30)] opt {}
25: op Flatten shape [(2, 3, 5)] opt {'axis': 0}
26: op Add shape [(1, 30), (1, 30)] opt {}
27: op Reshape shape [(1, 30), (3,)] opt {}
28: op Reciprocal shape [(1, 1)] opt {}
29: op Reshape shape [(1, 1), (3,)] opt {}
30: op Reshape shape [(1, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (2, 3, 4, 5), (2, 3, 4, 5)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (4,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
11: op Cast shape [(1, 120)] opt {'to': 1}
12: op ReduceMean shape [(1, 120)] opt {'axes': (1,)}
13: op Mul shape [(1, 120), (1, 120)] opt {}
14: op ReduceMean shape [(1, 120)] opt {'axes': (1,)}
15: op Mul shape [(1, 1), (1, 1)] opt {}
16: op Sub shape [(1, 1), (1, 1)] opt {}
17: op Add shape [(1, 1), ()] opt {}
18: op Sqrt shape [(1, 1)] opt {}
19: op Sub shape [(1, 120), (1, 1)] opt {}
20: op Div shape [(1, 120), (1, 1)] opt {}
21: op Cast shape [(1, 120)] opt {'to': 1}
22: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
23: op Mul shape [(1, 120), (1, 120)] opt {}
24: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
25: op Add shape [(1, 120), (1, 120)] opt {}
26: op Reshape shape [(1, 120), (4,)] opt {}
27: op Reciprocal shape [(1, 1)] opt {}
28: op Reshape shape [(1, 1), (4,)] opt {}
29: op Reshape shape [(1, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
.s.s.s.s.s.s2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (4,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
11: op Cast shape [(1, 120)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(1, 120), (1,)] opt {}
14: op Mul shape [(1, 120), (1, 120)] opt {}
15: op ReduceMean shape [(1, 120), (1,)] opt {}
16: op Mul shape [(1, 1), (1, 1)] opt {}
17: op Sub shape [(1, 1), (1, 1)] opt {}
18: op Add shape [(1, 1), ()] opt {}
19: op Sqrt shape [(1, 1)] opt {}
20: op Sub shape [(1, 120), (1, 1)] opt {}
21: op Div shape [(1, 120), (1, 1)] opt {}
22: op Cast shape [(1, 120)] opt {'to': 1}
23: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
24: op Mul shape [(1, 120), (1, 120)] opt {}
25: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
26: op Add shape [(1, 120), (1, 120)] opt {}
27: op Reshape shape [(1, 120), (4,)] opt {}
28: op Reciprocal shape [(1, 1)] opt {}
29: op Reshape shape [(1, 1), (4,)] opt {}
30: op Reshape shape [(1, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 1}
11: op Cast shape [(2, 60)] opt {'to': 1}
12: op ReduceMean shape [(2, 60)] opt {'axes': (1,)}
13: op Mul shape [(2, 60), (2, 60)] opt {}
14: op ReduceMean shape [(2, 60)] opt {'axes': (1,)}
15: op Mul shape [(2, 1), (2, 1)] opt {}
16: op Sub shape [(2, 1), (2, 1)] opt {}
17: op Add shape [(2, 1), ()] opt {}
18: op Sqrt shape [(2, 1)] opt {}
19: op Sub shape [(2, 60), (2, 1)] opt {}
20: op Div shape [(2, 60), (2, 1)] opt {}
21: op Cast shape [(2, 60)] opt {'to': 1}
22: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
23: op Mul shape [(2, 60), (1, 60)] opt {}
24: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
25: op Add shape [(2, 60), (1, 60)] opt {}
26: op Reshape shape [(2, 60), (4,)] opt {}
27: op Reciprocal shape [(2, 1)] opt {}
28: op Reshape shape [(2, 1), (4,)] opt {}
29: op Reshape shape [(2, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 1}
11: op Cast shape [(2, 60)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(2, 60), (1,)] opt {}
14: op Mul shape [(2, 60), (2, 60)] opt {}
15: op ReduceMean shape [(2, 60), (1,)] opt {}
16: op Mul shape [(2, 1), (2, 1)] opt {}
17: op Sub shape [(2, 1), (2, 1)] opt {}
18: op Add shape [(2, 1), ()] opt {}
19: op Sqrt shape [(2, 1)] opt {}
20: op Sub shape [(2, 60), (2, 1)] opt {}
21: op Div shape [(2, 60), (2, 1)] opt {}
22: op Cast shape [(2, 60)] opt {'to': 1}
23: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
24: op Mul shape [(2, 60), (1, 60)] opt {}
25: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
26: op Add shape [(2, 60), (1, 60)] opt {}
27: op Reshape shape [(2, 60), (4,)] opt {}
28: op Reciprocal shape [(2, 1)] opt {}
29: op Reshape shape [(2, 1), (4,)] opt {}
30: op Reshape shape [(2, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (4, 5), (4, 5)] opt {'axis': 2}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 2}
11: op Cast shape [(6, 20)] opt {'to': 1}
12: op ReduceMean shape [(6, 20)] opt {'axes': (1,)}
13: op Mul shape [(6, 20), (6, 20)] opt {}
14: op ReduceMean shape [(6, 20)] opt {'axes': (1,)}
15: op Mul shape [(6, 1), (6, 1)] opt {}
16: op Sub shape [(6, 1), (6, 1)] opt {}
17: op Add shape [(6, 1), ()] opt {}
18: op Sqrt shape [(6, 1)] opt {}
19: op Sub shape [(6, 20), (6, 1)] opt {}
20: op Div shape [(6, 20), (6, 1)] opt {}
21: op Cast shape [(6, 20)] opt {'to': 1}
22: op Flatten shape [(4, 5)] opt {'axis': 0}
23: op Mul shape [(6, 20), (1, 20)] opt {}
24: op Flatten shape [(4, 5)] opt {'axis': 0}
25: op Add shape [(6, 20), (1, 20)] opt {}
26: op Reshape shape [(6, 20), (4,)] opt {}
27: op Reciprocal shape [(6, 1)] opt {}
28: op Reshape shape [(6, 1), (4,)] opt {}
29: op Reshape shape [(6, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 2}
11: op Cast shape [(6, 20)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(6, 20), (1,)] opt {}
14: op Mul shape [(6, 20), (6, 20)] opt {}
15: op ReduceMean shape [(6, 20), (1,)] opt {}
16: op Mul shape [(6, 1), (6, 1)] opt {}
.s.s.s.s.s.s.s.s17: op Sub shape [(6, 1), (6, 1)] opt {}
18: op Add shape [(6, 1), ()] opt {}
19: op Sqrt shape [(6, 1)] opt {}
20: op Sub shape [(6, 20), (6, 1)] opt {}
21: op Div shape [(6, 20), (6, 1)] opt {}
22: op Cast shape [(6, 20)] opt {'to': 1}
23: op Flatten shape [(4, 5)] opt {'axis': 0}
24: op Mul shape [(6, 20), (1, 20)] opt {}
25: op Flatten shape [(4, 5)] opt {'axis': 0}
26: op Add shape [(6, 20), (1, 20)] opt {}
27: op Reshape shape [(6, 20), (4,)] opt {}
28: op Reciprocal shape [(6, 1)] opt {}
29: op Reshape shape [(6, 1), (4,)] opt {}
30: op Reshape shape [(6, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (5,), (5,)] opt {'axis': 3}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(3,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 3}
11: op Cast shape [(24, 5)] opt {'to': 1}
12: op ReduceMean shape [(24, 5)] opt {'axes': (1,)}
13: op Mul shape [(24, 5), (24, 5)] opt {}
14: op ReduceMean shape [(24, 5)] opt {'axes': (1,)}
15: op Mul shape [(24, 1), (24, 1)] opt {}
16: op Sub shape [(24, 1), (24, 1)] opt {}
17: op Add shape [(24, 1), ()] opt {}
18: op Sqrt shape [(24, 1)] opt {}
19: op Sub shape [(24, 5), (24, 1)] opt {}
20: op Div shape [(24, 5), (24, 1)] opt {}
21: op Cast shape [(24, 5)] opt {'to': 1}
22: op Flatten shape [(5,)] opt {'axis': 0}
23: op Mul shape [(24, 5), (1, 5)] opt {}
24: op Flatten shape [(5,)] opt {'axis': 0}
25: op Add shape [(24, 5), (1, 5)] opt {}
26: op Reshape shape [(24, 5), (4,)] opt {}
27: op Reciprocal shape [(24, 1)] opt {}
28: op Reshape shape [(24, 1), (4,)] opt {}
29: op Reshape shape [(24, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Sub shape [4, (1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(3,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 3}
11: op Cast shape [(24, 5)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(24, 5), (1,)] opt {}
14: op Mul shape [(24, 5), (24, 5)] opt {}
15: op ReduceMean shape [(24, 5), (1,)] opt {}
16: op Mul shape [(24, 1), (24, 1)] opt {}
17: op Sub shape [(24, 1), (24, 1)] opt {}
18: op Add shape [(24, 1), ()] opt {}
19: op Sqrt shape [(24, 1)] opt {}
20: op Sub shape [(24, 5), (24, 1)] opt {}
21: op Div shape [(24, 5), (24, 1)] opt {}
22: op Cast shape [(24, 5)] opt {'to': 1}
23: op Flatten shape [(5,)] opt {'axis': 0}
24: op Mul shape [(24, 5), (1, 5)] opt {}
25: op Flatten shape [(5,)] opt {'axis': 0}
26: op Add shape [(24, 5), (1, 5)] opt {}
27: op Reshape shape [(24, 5), (4,)] opt {}
28: op Reciprocal shape [(24, 1)] opt {}
29: op Reshape shape [(24, 1), (4,)] opt {}
30: op Reshape shape [(24, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (5,), (5,)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(3,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -1}
11: op Cast shape [(24, 5)] opt {'to': 1}
12: op ReduceMean shape [(24, 5)] opt {'axes': (1,)}
13: op Mul shape [(24, 5), (24, 5)] opt {}
14: op ReduceMean shape [(24, 5)] opt {'axes': (1,)}
15: op Mul shape [(24, 1), (24, 1)] opt {}
16: op Sub shape [(24, 1), (24, 1)] opt {}
17: op Add shape [(24, 1), ()] opt {}
18: op Sqrt shape [(24, 1)] opt {}
19: op Sub shape [(24, 5), (24, 1)] opt {}
20: op Div shape [(24, 5), (24, 1)] opt {}
21: op Cast shape [(24, 5)] opt {'to': 1}
22: op Flatten shape [(5,)] opt {'axis': 0}
23: op Mul shape [(24, 5), (1, 5)] opt {}
24: op Flatten shape [(5,)] opt {'axis': 0}
25: op Add shape [(24, 5), (1, 5)] opt {}
26: op Reshape shape [(24, 5), (4,)] opt {}
27: op Reciprocal shape [(24, 1)] opt {}
28: op Reshape shape [(24, 1), (4,)] opt {}
29: op Reshape shape [(24, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(3,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -1}
11: op Cast shape [(24, 5)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(24, 5), (1,)] opt {}
14: op Mul shape [(24, 5), (24, 5)] opt {}
15: op ReduceMean shape [(24, 5), (1,)] opt {}
16: op Mul shape [(24, 1), (24, 1)] opt {}
17: op Sub shape [(24, 1), (24, 1)] opt {}
18: op Add shape [(24, 1), ()] opt {}
19: op Sqrt shape [(24, 1)] opt {}
20: op Sub shape [(24, 5), (24, 1)] opt {}
21: op Div shape [(24, 5), (24, 1)] opt {}
22: op Cast shape [(24, 5)] opt {'to': 1}
23: op Flatten shape [(5,)] opt {'axis': 0}
24: op Mul shape [(24, 5), (1, 5)] opt {}
25: op Flatten shape [(5,)] opt {'axis': 0}
26: op Add shape [(24, 5), (1, 5)] opt {}
27: op Reshape shape [(24, 5), (4,)] opt {}
28: op Reciprocal shape [(24, 1)] opt {}
29: op Reshape shape [(24, 1), (4,)] opt {}
30: op Reshape shape [(24, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (4, 5), (4, 5)] opt {'axis': -2}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
.s.s.s.s.s.s4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -2}
11: op Cast shape [(6, 20)] opt {'to': 1}
12: op ReduceMean shape [(6, 20)] opt {'axes': (1,)}
13: op Mul shape [(6, 20), (6, 20)] opt {}
14: op ReduceMean shape [(6, 20)] opt {'axes': (1,)}
15: op Mul shape [(6, 1), (6, 1)] opt {}
16: op Sub shape [(6, 1), (6, 1)] opt {}
17: op Add shape [(6, 1), ()] opt {}
18: op Sqrt shape [(6, 1)] opt {}
19: op Sub shape [(6, 20), (6, 1)] opt {}
20: op Div shape [(6, 20), (6, 1)] opt {}
21: op Cast shape [(6, 20)] opt {'to': 1}
22: op Flatten shape [(4, 5)] opt {'axis': 0}
23: op Mul shape [(6, 20), (1, 20)] opt {}
24: op Flatten shape [(4, 5)] opt {'axis': 0}
25: op Add shape [(6, 20), (1, 20)] opt {}
26: op Reshape shape [(6, 20), (4,)] opt {}
27: op Reciprocal shape [(6, 1)] opt {}
28: op Reshape shape [(6, 1), (4,)] opt {}
29: op Reshape shape [(6, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(2,), (2,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -2}
11: op Cast shape [(6, 20)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(6, 20), (1,)] opt {}
14: op Mul shape [(6, 20), (6, 20)] opt {}
15: op ReduceMean shape [(6, 20), (1,)] opt {}
16: op Mul shape [(6, 1), (6, 1)] opt {}
17: op Sub shape [(6, 1), (6, 1)] opt {}
18: op Add shape [(6, 1), ()] opt {}
19: op Sqrt shape [(6, 1)] opt {}
20: op Sub shape [(6, 20), (6, 1)] opt {}
21: op Div shape [(6, 20), (6, 1)] opt {}
22: op Cast shape [(6, 20)] opt {'to': 1}
23: op Flatten shape [(4, 5)] opt {'axis': 0}
24: op Mul shape [(6, 20), (1, 20)] opt {}
25: op Flatten shape [(4, 5)] opt {'axis': 0}
26: op Add shape [(6, 20), (1, 20)] opt {}
27: op Reshape shape [(6, 20), (4,)] opt {}
28: op Reciprocal shape [(6, 1)] opt {}
29: op Reshape shape [(6, 1), (4,)] opt {}
30: op Reshape shape [(6, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {'axis': -3}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -3}
11: op Cast shape [(2, 60)] opt {'to': 1}
12: op ReduceMean shape [(2, 60)] opt {'axes': (1,)}
13: op Mul shape [(2, 60), (2, 60)] opt {}
14: op ReduceMean shape [(2, 60)] opt {'axes': (1,)}
15: op Mul shape [(2, 1), (2, 1)] opt {}
16: op Sub shape [(2, 1), (2, 1)] opt {}
17: op Add shape [(2, 1), ()] opt {}
18: op Sqrt shape [(2, 1)] opt {}
19: op Sub shape [(2, 60), (2, 1)] opt {}
20: op Div shape [(2, 60), (2, 1)] opt {}
21: op Cast shape [(2, 60)] opt {'to': 1}
22: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
23: op Mul shape [(2, 60), (1, 60)] opt {}
24: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
25: op Add shape [(2, 60), (1, 60)] opt {}
26: op Reshape shape [(2, 60), (4,)] opt {}
27: op Reciprocal shape [(2, 1)] opt {}
28: op Reshape shape [(2, 1), (4,)] opt {}
29: op Reshape shape [(2, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(1,), (3,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -3}
11: op Cast shape [(2, 60)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(2, 60), (1,)] opt {}
14: op Mul shape [(2, 60), (2, 60)] opt {}
15: op ReduceMean shape [(2, 60), (1,)] opt {}
16: op Mul shape [(2, 1), (2, 1)] opt {}
17: op Sub shape [(2, 1), (2, 1)] opt {}
18: op Add shape [(2, 1), ()] opt {}
19: op Sqrt shape [(2, 1)] opt {}
20: op Sub shape [(2, 60), (2, 1)] opt {}
21: op Div shape [(2, 60), (2, 1)] opt {}
22: op Cast shape [(2, 60)] opt {'to': 1}
23: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
24: op Mul shape [(2, 60), (1, 60)] opt {}
25: op Flatten shape [(3, 4, 5)] opt {'axis': 0}
26: op Add shape [(2, 60), (1, 60)] opt {}
27: op Reshape shape [(2, 60), (4,)] opt {}
28: op Reciprocal shape [(2, 1)] opt {}
29: op Reshape shape [(2, 1), (4,)] opt {}
30: op Reshape shape [(2, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (2, 3, 4, 5), (2, 3, 4, 5)] opt {'axis': -4}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (4,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -4}
11: op Cast shape [(1, 120)] opt {'to': 1}
12: op ReduceMean shape [(1, 120)] opt {'axes': (1,)}
13: op Mul shape [(1, 120), (1, 120)] opt {}
14: op ReduceMean shape [(1, 120)] opt {'axes': (1,)}
15: op Mul shape [(1, 1), (1, 1)] opt {}
16: op Sub shape [(1, 1), (1, 1)] opt {}
17: op Add shape [(1, 1), ()] opt {}
18: op Sqrt shape [(1, 1)] opt {}
19: op Sub shape [(1, 120), (1, 1)] opt {}
20: op Div shape [(1, 120), (1, 1)] opt {}
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s21: op Cast shape [(1, 120)] opt {'to': 1}
22: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
23: op Mul shape [(1, 120), (1, 120)] opt {}
24: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
25: op Add shape [(1, 120), (1, 120)] opt {}
26: op Reshape shape [(1, 120), (4,)] opt {}
27: op Reciprocal shape [(1, 1)] opt {}
28: op Reshape shape [(1, 1), (4,)] opt {}
29: op Reshape shape [(1, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(0,), (4,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -4}
11: op Cast shape [(1, 120)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(1, 120), (1,)] opt {}
14: op Mul shape [(1, 120), (1, 120)] opt {}
15: op ReduceMean shape [(1, 120), (1,)] opt {}
16: op Mul shape [(1, 1), (1, 1)] opt {}
17: op Sub shape [(1, 1), (1, 1)] opt {}
18: op Add shape [(1, 1), ()] opt {}
19: op Sqrt shape [(1, 1)] opt {}
20: op Sub shape [(1, 120), (1, 1)] opt {}
21: op Div shape [(1, 120), (1, 1)] opt {}
22: op Cast shape [(1, 120)] opt {'to': 1}
23: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
24: op Mul shape [(1, 120), (1, 120)] opt {}
25: op Flatten shape [(2, 3, 4, 5)] opt {'axis': 0}
26: op Add shape [(1, 120), (1, 120)] opt {}
27: op Reshape shape [(1, 120), (4,)] opt {}
28: op Reciprocal shape [(1, 1)] opt {}
29: op Reshape shape [(1, 1), (4,)] opt {}
30: op Reshape shape [(1, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op LayerNormalization shape [(2, 3, 4, 5), (5,), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(3,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -1}
11: op Cast shape [(24, 5)] opt {'to': 1}
12: op ReduceMean shape [(24, 5)] opt {'axes': (1,)}
13: op Mul shape [(24, 5), (24, 5)] opt {}
14: op ReduceMean shape [(24, 5)] opt {'axes': (1,)}
15: op Mul shape [(24, 1), (24, 1)] opt {}
16: op Sub shape [(24, 1), (24, 1)] opt {}
17: op Add shape [(24, 1), ()] opt {}
18: op Sqrt shape [(24, 1)] opt {}
19: op Sub shape [(24, 5), (24, 1)] opt {}
20: op Div shape [(24, 5), (24, 1)] opt {}
21: op Cast shape [(24, 5)] opt {'to': 1}
22: op Flatten shape [(5,)] opt {'axis': 0}
23: op Mul shape [(24, 5), (1, 5)] opt {}
24: op Flatten shape [(5,)] opt {'axis': 0}
25: op Add shape [(24, 5), (1, 5)] opt {}
26: op Reshape shape [(24, 5), (4,)] opt {}
27: op Reciprocal shape [(24, 1)] opt {}
28: op Reshape shape [(24, 1), (4,)] opt {}
29: op Reshape shape [(24, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'W', 'B']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Cast shape [()] opt {'to': 1}
2: op Shape shape [(2, 3, 4, 5)] opt {}
3: op Size shape [(4,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
6: op Slice shape [(4,), (1,), (1,)] opt {}
7: op Neg shape [(1,)] opt {}
8: op ConstantOfShape shape [(1,)] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
9: op Concat shape [(3,), (1,)] opt {'axis': 0}
10: op Flatten shape [(2, 3, 4, 5)] opt {'axis': -1}
11: op Cast shape [(24, 5)] opt {'to': 1}
12: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
13: op ReduceMean shape [(24, 5), (1,)] opt {}
14: op Mul shape [(24, 5), (24, 5)] opt {}
15: op ReduceMean shape [(24, 5), (1,)] opt {}
16: op Mul shape [(24, 1), (24, 1)] opt {}
17: op Sub shape [(24, 1), (24, 1)] opt {}
18: op Add shape [(24, 1), ()] opt {}
19: op Sqrt shape [(24, 1)] opt {}
20: op Sub shape [(24, 5), (24, 1)] opt {}
21: op Div shape [(24, 5), (24, 1)] opt {}
22: op Cast shape [(24, 5)] opt {'to': 1}
23: op Flatten shape [(5,)] opt {'axis': 0}
24: op Mul shape [(24, 5), (1, 5)] opt {}
25: op Flatten shape [(5,)] opt {'axis': 0}
26: op Add shape [(24, 5), (1, 5)] opt {}
27: op Reshape shape [(24, 5), (4,)] opt {}
28: op Reciprocal shape [(24, 1)] opt {}
29: op Reshape shape [(24, 1), (4,)] opt {}
30: op Reshape shape [(24, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LeakyRelu shape [(3, 4, 5)] opt {'alpha': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LeakyRelu shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 0.009999999776482582}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Less shape [(3, 4, 5), ()] opt {}
5: op Mul shape [(), (3, 4, 5)] opt {}
6: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LeakyRelu shape [(3,)] opt {'alpha': 0.10000000149011612}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 0.10000000149011612}
1: op CastLike shape [(), (3,)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3,)] opt {}
4: op Less shape [(3,), ()] opt {}
5: op Mul shape [(), (3,)] opt {}
6: op Where shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 0.10000000149011612}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Less shape [(3, 4, 5), ()] opt {}
5: op Mul shape [(), (3, 4, 5)] opt {}
6: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Less shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Less shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op LessOrEqual shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Less shape [(3, 4, 5), (5,)] opt {}
1: op Equal shape [(3, 4, 5), (5,)] opt {}
2: op Or shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op LessOrEqual shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Less shape [(3, 4, 5), (3, 4, 5)] opt {}
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssss.s.sssssssss.s.s.sss.s.s1: op Equal shape [(3, 4, 5), (3, 4, 5)] opt {}
2: op Or shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Log shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Log shape [(2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(3, 4, 5)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (0,)}
2: op Sub shape [(3, 4, 5), (1, 4, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(1, 4, 5)] opt {}
6: op Sub shape [(3, 4, 5), (1, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (1, 4, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(1, 4, 5)] opt {}
6: op Sub shape [(3, 4, 5), (1, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(3, 4, 5)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (1,)}
2: op Sub shape [(3, 4, 5), (3, 1, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 1, 5)] opt {}
6: op Sub shape [(3, 4, 5), (3, 1, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 1, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 1, 5)] opt {}
6: op Sub shape [(3, 4, 5), (3, 1, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(3, 4, 5)] opt {'axis': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (2,)}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 4, 1)] opt {}
6: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 4, 1)] opt {}
6: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 4, 1)] opt {}
6: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 4, 1)] opt {}
6: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(1, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(1, 3)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(1, 3), (1, 1)] opt {}
3: op Exp shape [(1, 3)] opt {}
4: op ReduceSum shape [(1, 3), (1,)] opt {'keepdims': 1}
5: op Log shape [(1, 1)] opt {}
6: op Sub shape [(1, 3), (1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(1, 3), (1,)] opt {'keepdims': 1}
2: op Sub shape [(1, 3), (1, 1)] opt {}
3: op Exp shape [(1, 3)] opt {}
4: op ReduceSum shape [(1, 3), (1,)] opt {'keepdims': 1}
5: op Log shape [(1, 1)] opt {}
6: op Sub shape [(1, 3), (1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(2, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(2, 4)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(2, 4), (2, 1)] opt {}
3: op Exp shape [(2, 4)] opt {}
4: op ReduceSum shape [(2, 4), (1,)] opt {'keepdims': 1}
5: op Log shape [(2, 1)] opt {}
6: op Sub shape [(2, 4), (2, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(2, 4), (1,)] opt {'keepdims': 1}
2: op Sub shape [(2, 4), (2, 1)] opt {}
3: op Exp shape [(2, 4)] opt {}
4: op ReduceSum shape [(2, 4), (1,)] opt {'keepdims': 1}
5: op Log shape [(2, 1)] opt {}
6: op Sub shape [(2, 4), (2, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LogSoftmax shape [(3, 4, 5)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 4, 1)] opt {}
6: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Log shape [(3, 4, 1)] opt {}
6: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LRN shape [(5, 5, 5, 5)] opt {'alpha': 0.00019999999494757503, 'beta': 0.5, 'bias': 2.0, 'size': 3}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op LRN shape [(5, 5, 5, 5)] opt {'size': 3}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b']
0: op MatMul shape [(3, 4), (4, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b']
0: op MatMul shape [(2, 3, 4), (2, 4, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b']
0: op MatMul shape [(1, 2, 3, 4), (1, 2, 4, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1', 'data_2']
0: op Max shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU .s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssssssss.s.s.s.s.s.s.s.s['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0']
0: op Max shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Max shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 32)] opt {'kernel_shape': (2,)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 4, 4)] opt {'ceil_mode': 1, 'kernel_shape': (3, 3), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 32, 32)] opt {'kernel_shape': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 4, 4)] opt {'dilations': (2, 2), 'kernel_shape': (2, 2), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 28, 28)] opt {'kernel_shape': (3, 3), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 5, 5)] opt {'kernel_shape': (5, 5), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 5, 5)] opt {'auto_pad': 'SAME_UPPER', 'kernel_shape': (3, 3), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 5, 5)] opt {'kernel_shape': (2, 2), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 32, 32)] opt {'auto_pad': 'SAME_LOWER', 'kernel_shape': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 32, 32)] opt {'auto_pad': 'SAME_UPPER', 'kernel_shape': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 32, 32)] opt {'kernel_shape': (5, 5), 'strides': (3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 5, 5)] opt {'kernel_shape': (5, 5), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 3, 32, 32, 32)] opt {'kernel_shape': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 4, 4, 4)] opt {'dilations': (2, 2, 2), 'kernel_shape': (2, 2, 2), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 4, 4, 4)] opt {'dilations': (2, 2, 2), 'kernel_shape': (2, 2, 2), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 32, 32, 32)] opt {'ceil_mode': 1, 'dilations': (2, 2, 2), 'kernel_shape': (5, 5, 5), 'strides': (3, 3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 5, 5)] opt {'kernel_shape': (5, 5), 'pads': (2, 2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op MaxPool shape [(1, 1, 5, 5)] opt {'kernel_shape': (2, 2), 'storage_order': 1, 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['xT', 'xI', 'output_shape']
0: op MaxUnpool shape [(1, 1, 2, 2), (1, 1, 2, 2), (4,)] opt {'kernel_shape': (2, 2), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['xT', 'xI']
0: op MaxUnpool shape [(1, 1, 2, 2), (1, 1, 2, 2)] opt {'kernel_shape': (2, 2), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1', 'data_2']
0: op Mean shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0']
0: op Mean shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Mean shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1', 'data_2']
0: op Min shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0']
0: op Min shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Min shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Mish shape [(10000,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Softplus shape [(10000,)] opt {}
1: op Tanh shape [(10000,)] opt {}
2: op Mul shape [(10000,), (10000,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['R', 'T', 'X', 'G', 'V']
0: op Momentum shape [(), (), (2,), (2,), (2,)] opt {'alpha': 0.949999988079071, 'beta': 0.10000000149011612, 'mode': 'standard', 'norm_coefficient': 0.0010000000474974513}
prepare <class '__main__.TinygradBackend'> CPU ['R', 'T', 'X1', 'X2', 'G1', 'G2', 'H1', 'H2']
0: op Momentum shape [(), (), (1,), (2,), (1,), (2,), (1,), (2,)] opt {'alpha': 0.949999988079071, 'beta': 0.8500000238418579, 'mode': 'standard', 'norm_coefficient': 0.0010000000474974513}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Mul shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Mul shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Mul shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Mul shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op MeanVarianceNormalization shape [(3, 3, 3, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
2: op ReduceMean shape [(3, 3, 3, 1)] opt {'axes': (0, 2, 3)}
3: op Pow shape [(1, 3, 1, 1), ()] opt {}
4: op Pow shape [(3, 3, 3, 1), ()] opt {}
5: op ReduceMean shape [(3, 3, 3, 1)] opt {'axes': (0, 2, 3)}
6: op Sub shape [(1, 3, 1, 1), (1, 3, 1, 1)] opt {}
7: op Sqrt shape [(1, 3, 1, 1)] opt {}
8: op Sub shape [(3, 3, 3, 1), (1, 3, 1, 1)] opt {}
9: op Add shape [(1, 3, 1, 1), ()] opt {}
10: op Div shape [(3, 3, 3, 1), (1, 3, 1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
.s.s.sss.s.s.s.s.s.s.s.s.s.s.s1: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value_ints': (0, 2, 3)}
3: op ReduceMean shape [(3, 3, 3, 1), (3,)] opt {}
4: op Pow shape [(1, 3, 1, 1), ()] opt {}
5: op Pow shape [(3, 3, 3, 1), ()] opt {}
6: op ReduceMean shape [(3, 3, 3, 1), (3,)] opt {}
7: op Sub shape [(1, 3, 1, 1), (1, 3, 1, 1)] opt {}
8: op Sqrt shape [(1, 3, 1, 1)] opt {}
9: op Sub shape [(3, 3, 3, 1), (1, 3, 1, 1)] opt {}
10: op Add shape [(1, 3, 1, 1), ()] opt {}
11: op Div shape [(3, 3, 3, 1), (1, 3, 1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Neg shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Neg shape [(2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3,), (1,)] opt {}
4: op GatherElements shape [(3, 5), (3, 1)] opt {'axis': 1}
5: op Neg shape [(3, 1)] opt {}
6: op Slice shape [(3, 1), (1,), (1,), (1,)] opt {}
7: op Squeeze shape [(3, 1), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 2), (1,)] opt {}
4: op GatherElements shape [(3, 5, 2), (3, 1, 2)] opt {'axis': 1}
5: op Neg shape [(3, 1, 2)] opt {}
6: op Slice shape [(3, 1, 2), (1,), (1,), (1,)] opt {}
7: op Squeeze shape [(3, 1, 2), (1,)] opt {}
8: op ReduceMean shape [(3, 2)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2)] opt {'ignore_index': 1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 2), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1, 2), (3, 1, 2)] opt {}
6: op Cast shape [(3, 1, 2)] opt {'to': 7}
7: op Equal shape [(3, 1, 2), (1,)] opt {}
8: op Where shape [(3, 1, 2), (3, 1, 2), (3, 1, 2)] opt {}
9: op GatherElements shape [(3, 5, 2), (3, 1, 2)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1, 2), (1,), (3, 1, 2)] opt {}
12: op Neg shape [(3, 1, 2)] opt {}
13: op Slice shape [(3, 1, 2), (1,), (1,), (1,)] opt {}
14: op Squeeze shape [(3, 1, 2), (1,)] opt {}
15: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
16: op Where shape [(3, 2), (1,), (1,)] opt {}
17: op Squeeze shape [(3, 1, 2), (1,)] opt {}
18: op Mul shape [(3, 2), (3, 2)] opt {}
19: op ReduceSum shape [(3, 2)] opt {'keepdims': 0}
20: op ReduceSum shape [(3, 2)] opt {'keepdims': 0}
21: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6), (3, 6), (5,)] opt {'ignore_index': -1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1, 6), (3, 1, 6)] opt {}
6: op Cast shape [(3, 1, 6)] opt {'to': 7}
7: op Equal shape [(3, 1, 6), (1,)] opt {}
8: op Where shape [(3, 1, 6), (3, 1, 6), (3, 1, 6)] opt {}
9: op GatherElements shape [(3, 5, 6), (3, 1, 6)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1, 6), (1,), (3, 1, 6)] opt {}
12: op Neg shape [(3, 1, 6)] opt {}
13: op Slice shape [(3, 1, 6), (1,), (1,), (1,)] opt {}
14: op Gather shape [(5,), (3, 1, 6)] opt {}
15: op Where shape [(3, 1, 6), (1,), (3, 1, 6)] opt {}
16: op Squeeze shape [(3, 1, 6), (1,)] opt {}
17: op Squeeze shape [(3, 1, 6), (1,)] opt {}
18: op Mul shape [(3, 6), (3, 6)] opt {}
19: op ReduceSum shape [(3, 6)] opt {'keepdims': 0}
20: op ReduceSum shape [(3, 6)] opt {'keepdims': 0}
21: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 2), (1,)] opt {}
4: op GatherElements shape [(3, 5, 2), (3, 1, 2)] opt {'axis': 1}
5: op Neg shape [(3, 1, 2)] opt {}
6: op Slice shape [(3, 1, 2), (1,), (1,), (1,)] opt {}
7: op Gather shape [(5,), (3, 2)] opt {}
8: op Squeeze shape [(3, 1, 2), (1,)] opt {}
9: op Mul shape [(3, 2), (3, 2)] opt {}
10: op ReduceSum shape [(3, 2)] opt {'keepdims': 0}
11: op ReduceSum shape [(3, 2)] opt {'keepdims': 0}
12: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2), (5,)] opt {'ignore_index': 1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 2), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1, 2), (3, 1, 2)] opt {}
6: op Cast shape [(3, 1, 2)] opt {'to': 7}
7: op Equal shape [(3, 1, 2), (1,)] opt {}
8: op Where shape [(3, 1, 2), (3, 1, 2), (3, 1, 2)] opt {}
9: op GatherElements shape [(3, 5, 2), (3, 1, 2)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1, 2), (1,), (3, 1, 2)] opt {}
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s12: op Neg shape [(3, 1, 2)] opt {}
13: op Slice shape [(3, 1, 2), (1,), (1,), (1,)] opt {}
14: op Gather shape [(5,), (3, 1, 2)] opt {}
15: op Where shape [(3, 1, 2), (1,), (3, 1, 2)] opt {}
16: op Squeeze shape [(3, 1, 2), (1,)] opt {}
17: op Squeeze shape [(3, 1, 2), (1,)] opt {}
18: op Mul shape [(3, 2), (3, 2)] opt {}
19: op ReduceSum shape [(3, 2)] opt {'keepdims': 0}
20: op ReduceSum shape [(3, 2)] opt {'keepdims': 0}
21: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6)] opt {}
6: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
7: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6)] opt {'ignore_index': 1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1, 6, 6), (3, 1, 6, 6)] opt {}
6: op Cast shape [(3, 1, 6, 6)] opt {'to': 7}
7: op Equal shape [(3, 1, 6, 6), (1,)] opt {}
8: op Where shape [(3, 1, 6, 6), (3, 1, 6, 6), (3, 1, 6, 6)] opt {}
9: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1, 6, 6), (1,), (3, 1, 6, 6)] opt {}
12: op Neg shape [(3, 1, 6, 6)] opt {}
13: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
14: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
15: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
16: op Where shape [(3, 6, 6), (1,), (1,)] opt {}
17: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
18: op Mul shape [(3, 6, 6), (3, 6, 6)] opt {}
19: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
20: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
21: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6)] opt {}
6: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
7: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
8: op ReduceMean shape [(3, 6, 6)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6)] opt {'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6)] opt {}
6: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
7: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
8: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6), (5,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6)] opt {}
6: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
7: op Gather shape [(5,), (3, 6, 6)] opt {}
8: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
9: op Mul shape [(3, 6, 6), (3, 6, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6)] opt {}
6: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
7: op Gather shape [(5,), (3, 6, 6)] opt {}
8: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
9: op Mul shape [(3, 6, 6), (3, 6, 6)] opt {}
10: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
11: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
12: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6), (5,)] opt {'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6)] opt {}
6: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
7: op Gather shape [(5,), (3, 6, 6)] opt {}
8: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
9: op Mul shape [(3, 6, 6), (3, 6, 6)] opt {}
10: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
.s.s.s.s.s.s.s.s.s.sssssssssssssssssssss.s.s.s.s.s.s.s.s.s0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6), (3, 6, 6), (5,)] opt {'ignore_index': 0, 'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1, 6, 6), (3, 1, 6, 6)] opt {}
6: op Cast shape [(3, 1, 6, 6)] opt {'to': 7}
7: op Equal shape [(3, 1, 6, 6), (1,)] opt {}
8: op Where shape [(3, 1, 6, 6), (3, 1, 6, 6), (3, 1, 6, 6)] opt {}
9: op GatherElements shape [(3, 5, 6, 6), (3, 1, 6, 6)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1, 6, 6), (1,), (3, 1, 6, 6)] opt {}
12: op Neg shape [(3, 1, 6, 6)] opt {}
13: op Slice shape [(3, 1, 6, 6), (1,), (1,), (1,)] opt {}
14: op Gather shape [(5,), (3, 1, 6, 6)] opt {}
15: op Where shape [(3, 1, 6, 6), (1,), (3, 1, 6, 6)] opt {}
16: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
17: op Squeeze shape [(3, 1, 6, 6), (1,)] opt {}
18: op Mul shape [(3, 6, 6), (3, 6, 6)] opt {}
19: op ReduceSum shape [(3, 6, 6)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5), (3, 6, 6, 5)] opt {'ignore_index': -5, 'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6, 5), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1, 6, 6, 5), (3, 1, 6, 6, 5)] opt {}
6: op Cast shape [(3, 1, 6, 6, 5)] opt {'to': 7}
7: op Equal shape [(3, 1, 6, 6, 5), (1,)] opt {}
8: op Where shape [(3, 1, 6, 6, 5), (3, 1, 6, 6, 5), (3, 1, 6, 6, 5)] opt {}
9: op GatherElements shape [(3, 5, 6, 6, 5), (3, 1, 6, 6, 5)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1, 6, 6, 5), (1,), (3, 1, 6, 6, 5)] opt {}
12: op Neg shape [(3, 1, 6, 6, 5)] opt {}
13: op Slice shape [(3, 1, 6, 6, 5), (1,), (1,), (1,)] opt {}
14: op Squeeze shape [(3, 1, 6, 6, 5), (1,)] opt {}
15: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
16: op Where shape [(3, 6, 6, 5), (1,), (1,)] opt {}
17: op Squeeze shape [(3, 1, 6, 6, 5), (1,)] opt {}
18: op Mul shape [(3, 6, 6, 5), (3, 6, 6, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'ignore_index': 10, 'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3,), (1,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
5: op Sub shape [(3, 1), (3, 1)] opt {}
6: op Cast shape [(3, 1)] opt {'to': 7}
7: op Equal shape [(3, 1), (1,)] opt {}
8: op Where shape [(3, 1), (3, 1), (3, 1)] opt {}
9: op GatherElements shape [(3, 5), (3, 1)] opt {'axis': 1}
10: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
11: op Where shape [(3, 1), (1,), (3, 1)] opt {}
12: op Neg shape [(3, 1)] opt {}
13: op Slice shape [(3, 1), (1,), (1,), (1,)] opt {}
14: op Gather shape [(5,), (3, 1)] opt {}
15: op Where shape [(3, 1), (1,), (3, 1)] opt {}
16: op Squeeze shape [(3, 1), (1,)] opt {}
17: op Squeeze shape [(3, 1), (1,)] opt {}
18: op Mul shape [(3,), (3,)] opt {}
19: op ReduceSum shape [(3,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target', 'weight']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6, 5, 3, 4), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6, 5, 3, 4), (3, 1, 6, 6, 5, 3, 4)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6, 5, 3, 4)] opt {}
6: op Slice shape [(3, 1, 6, 6, 5, 3, 4), (1,), (1,), (1,)] opt {}
7: op Gather shape [(5,), (3, 6, 6, 5, 3, 4)] opt {}
8: op Squeeze shape [(3, 1, 6, 6, 5, 3, 4), (1,)] opt {}
9: op Mul shape [(3, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4)] opt {}
10: op ReduceSum shape [(3, 6, 6, 5, 3, 4)] opt {'keepdims': 0}
11: op ReduceSum shape [(3, 6, 6, 5, 3, 4)] opt {'keepdims': 0}
12: op Div shape [(), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'target']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Unsqueeze shape [(3, 6, 6, 5, 3, 4), (1,)] opt {}
4: op GatherElements shape [(3, 5, 6, 6, 5, 3, 4), (3, 1, 6, 6, 5, 3, 4)] opt {'axis': 1}
5: op Neg shape [(3, 1, 6, 6, 5, 3, 4)] opt {}
6: op Slice shape [(3, 1, 6, 6, 5, 3, 4), (1,), (1,), (1,)] opt {}
7: op Squeeze shape [(3, 1, 6, 6, 5, 3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Not shape [(3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Not shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Not shape [(3, 4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['indices', 'depth', 'values']
0: op OneHot shape [(3,), (), (2,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['indices', 'depth', 'values']
0: op OneHot shape [(2, 2), (), (2,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['indices', 'depth', 'values']
0: op OneHot shape [(2, 2), (), (2,)] opt {'axis': -2}
prepare <class '__main__.TinygradBackend'> CPU ['indices', 'depth', 'values']
0: op OneHot shape [(3,), (), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
0: op OptionalGetElement shape [[<Tensor <LB HIP (4,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>]] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
0: op OptionalGetElement shape [(4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssss.s.s.s.sssssssssssssss.sss.sss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s0: op OptionalGetElement shape [[<Tensor <LB HIP (4,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>]] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
0: op OptionalGetElement shape [(4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU []
0: op OptionalHasElement shape [None] opt {}
prepare <class '__main__.TinygradBackend'> CPU []
0: op OptionalHasElement shape [None] opt {}
prepare <class '__main__.TinygradBackend'> CPU []
0: op OptionalHasElement shape [] opt {}
prepare <class '__main__.TinygradBackend'> CPU []
0: op OptionalHasElement shape [] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
0: op OptionalHasElement shape [(0,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
0: op OptionalHasElement shape [(4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['optional_input']
0: op OptionalHasElement shape [(4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4), (3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4, 5, 6), (3, 4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4, 5), (4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4, 5, 6), (5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(3, 4, 5, 6), (4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Or shape [(1, 4, 1, 6), (3, 1, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(2, 3), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3,), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Pow shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'slope']
0: op PRelu shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'slope']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Less shape [(3, 4, 5), ()] opt {}
3: op Mul shape [(5,), (3, 4, 5)] opt {}
4: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'slope']
0: op PRelu shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'slope']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Less shape [(3, 4, 5), ()] opt {}
3: op Mul shape [(3, 4, 5), (3, 4, 5)] opt {}
4: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['start', 'limit', 'delta']
0: op Range shape [(), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['start', 'limit', 'delta']
0: op Range shape [(), (), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Reciprocal shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Reciprocal shape [(2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(2, 0, 4)] opt {}
1: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL1 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Abs shape [(3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
2: op Cast shape [(1, 1, 1)] opt {'to': 1}
3: op Sqrt shape [(1, 1, 1)] opt {}
4: op CastLike shape [(1, 1, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
2: op Cast shape [(1, 1, 1)] opt {'to': 1}
3: op Sqrt shape [(1, 1, 1)] opt {}
4: op CastLike shape [(1, 1, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
2: op Cast shape [(3, 2)] opt {'to': 1}
3: op Sqrt shape [(3, 2)] opt {}
4: op CastLike shape [(3, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
2: op Cast shape [(3, 2)] opt {'to': 1}
3: op Sqrt shape [(3, 2)] opt {}
4: op CastLike shape [(3, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s0: op ReduceL2 shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(2, 0, 4), (2, 0, 4)] opt {}
1: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
2: op Cast shape [(2, 1, 4)] opt {'to': 1}
3: op Sqrt shape [(2, 1, 4)] opt {}
4: op CastLike shape [(2, 1, 4), (2, 0, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
2: op Cast shape [(3, 2, 1)] opt {'to': 1}
3: op Sqrt shape [(3, 2, 1)] opt {}
4: op CastLike shape [(3, 2, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
2: op Cast shape [(3, 2, 1)] opt {'to': 1}
3: op Sqrt shape [(3, 2, 1)] opt {}
4: op CastLike shape [(3, 2, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
2: op Cast shape [(3, 2, 1)] opt {'to': 1}
3: op Sqrt shape [(3, 2, 1)] opt {}
4: op CastLike shape [(3, 2, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceL2 shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
2: op Cast shape [(3, 2, 1)] opt {'to': 1}
3: op Sqrt shape [(3, 2, 1)] opt {}
4: op CastLike shape [(3, 2, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSum shape [(3, 4, 5), (2,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 4, 5), (2,)] opt {'keepdims': 0}
1: op Log shape [(5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSum shape [(3, 4, 5), (0,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 4, 5), (0,)] opt {'keepdims': 1}
1: op Log shape [(1, 1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSum shape [(3, 4, 5), (2,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 4, 5), (2,)] opt {'keepdims': 0}
1: op Log shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
1: op Log shape [(2, 1, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
3: op Log shape [(1, 1, 1)] opt {}
4: op CastLike shape [(1, 1, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
3: op Log shape [(1, 1, 1)] opt {}
4: op CastLike shape [(1, 1, 1), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
3: op Log shape [(3, 2)] opt {}
4: op CastLike shape [(3, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
3: op Log shape [(3, 2)] opt {}
4: op CastLike shape [(3, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(2, 0, 4)] opt {'to': 11}
1: op Exp shape [(2, 0, 4)] opt {}
2: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
3: op Log shape [(2, 1, 4)] opt {}
4: op CastLike shape [(2, 1, 4), (2, 0, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
3: op Log shape [(3, 1, 2)] opt {}
4: op CastLike shape [(3, 1, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
3: op Log shape [(3, 1, 2)] opt {}
4: op CastLike shape [(3, 1, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
3: op Log shape [(3, 1, 2)] opt {}
4: op CastLike shape [(3, 1, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSumExp shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Cast shape [(3, 2, 2)] opt {'to': 11}
1: op Exp shape [(3, 2, 2)] opt {}
2: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
3: op Log shape [(3, 1, 2)] opt {}
4: op CastLike shape [(3, 1, 2), (3, 2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceLogSum shape [(3, 4, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
1: op Log shape [(3, 1, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(4, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ReduceMax shape [(3, 2, 2)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ReduceMax shape [(3, 2, 2)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare .s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssss.s.s.s.s.s.s.s.s.s.s.s.sssssssss<class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMax shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMean shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(4, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ReduceMin shape [(3, 2, 2)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op ReduceMin shape [(3, 2, 2)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceMin shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1, 'noop_with_empty_axes': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1, 'noop_with_empty_axes': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (0,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(2, 0, 4), (2, 0, 4)] opt {}
1: op ReduceSum shape [(2, 0, 4), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op ReduceSumSquare shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'axes']
0: op Mul shape [(3, 2, 2), (3, 2, 2)] opt {}
1: op ReduceSum shape [(3, 2, 2), (1,)] opt {'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'pads']
0: op Pad shape [(1, 3, 4, 5), (8,)] opt {'mode': 'reflect'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Relu shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Max shape [(3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(0, 3, 4), (3,)] opt {'allowzero': 1}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data', 'shape']
0: op Reshape shape [(2, 3, 4), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
.sss.s.s.sssssss.s.s.s.s.s.sssssssssss.s.s.s.s.s.sss.s.s.s.s.s.s.sssssssssssss.sssssssssssssssssssssssssssssss.s.s.s.s.s.s.s.s.s.s.s0: op Resize shape [(1, 1, 2, 4), None, (4,)] opt {'coordinate_transformation_mode': 'align_corners', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 4), None, (4,)] opt {'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 1, 4), None, (4,)] opt {'coordinate_transformation_mode': 'half_pixel_symmetric', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 4), None, (4,)] opt {'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 4, 4), None, None, (4,)] opt {'coordinate_transformation_mode': 'pytorch_half_pixel', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 4), None, None, (4,)] opt {'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 4), None, None, (2,)] opt {'axes': (2, 3), 'keep_aspect_ratio_policy': 'not_larger', 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 4), None, None, (2,)] opt {'axes': (2, 3), 'keep_aspect_ratio_policy': 'not_smaller', 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'roi', 'sizes']
0: op Resize shape [(1, 1, 4, 4), (4,), None, (2,)] opt {'axes': (2, 3), 'coordinate_transformation_mode': 'tf_crop_and_resize', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'roi', 'sizes']
0: op Resize shape [(1, 1, 4, 4), (4,), None, (2,)] opt {'axes': (3, 2), 'coordinate_transformation_mode': 'tf_crop_and_resize', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 2), None, (4,)] opt {'coordinate_transformation_mode': 'align_corners', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 2), None, (4,)] opt {'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 2), None, (4,)] opt {'coordinate_transformation_mode': 'half_pixel_symmetric', 'mode': 'linear'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 2), None, (2,)] opt {'axes': (2, 3), 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 2), None, (2,)] opt {'axes': (3, 2), 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Resize shape [(1, 1, 2, 2), None, (4,)] opt {'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 2), None, None, (2,)] opt {'axes': (2, 3), 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 2), None, None, (2,)] opt {'axes': (3, 2), 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 4, 4), None, None, (4,)] opt {'coordinate_transformation_mode': 'half_pixel', 'mode': 'nearest', 'nearest_mode': 'ceil'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 2), None, None, (4,)] opt {'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 4, 4), None, None, (4,)] opt {'coordinate_transformation_mode': 'align_corners', 'mode': 'nearest', 'nearest_mode': 'floor'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 2, 2), None, None, (2,)] opt {'axes': (2, 3), 'keep_aspect_ratio_policy': 'not_smaller', 'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'sizes']
0: op Resize shape [(1, 1, 4, 4), None, None, (4,)] opt {'coordinate_transformation_mode': 'asymmetric', 'mode': 'nearest', 'nearest_mode': 'round_prefer_ceil'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Round shape [(15,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6), (3, 6), (5,)] opt {'ignore_index': -1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6), (3,)] opt {}
2: op Transpose shape [(3, 5, 6)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 6, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 6, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6)] opt {}
6: op Reshape shape [(3, 5, 6), (3,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 6), (3, 6), (5,)] opt {'reduction': 'mean', 'ignore_index': -1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6), (3, 6), (5,)] opt {'ignore_index': -1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6), (3,)] opt {}
2: op Transpose shape [(3, 5, 6)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 6, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 6, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6)] opt {}
6: op Reshape shape [(3, 5, 6), (3,)] opt {}
7: op Identity shape [(3, 5, 6)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 6), (3, 6), (5,)] opt {'reduction': 'mean', 'ignore_index': -1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6, 6, 5), (3, 6, 6, 5)] opt {'ignore_index': -5, 'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6, 6, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 180)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 180, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 180, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6, 6, 5)] opt {}
6: op Reshape shape [(3, 5, 180), (5,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5), (3, 6, 6, 5)] opt {'reduction': 'none', 'ignore_index': -5}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6, 6, 5), (3, 6, 6, 5)] opt {'ignore_index': -5, 'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6, 6, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 180)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 180, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 180, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6, 6, 5)] opt {}
6: op Reshape shape [(3, 5, 180), (5,)] opt {}
7: op Identity shape [(3, 5, 6, 6, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5), (3, 6, 6, 5)] opt {'reduction': 'none', 'ignore_index': -5}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'ignore_index': 10, 'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'sum', 'ignore_index': 10}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'ignore_index': 10, 'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'sum', 'ignore_index': 10}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6, 6, 5, 3, 4), (3,)] opt {}
2: op Transpose shape [(3, 5, 2160)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2160, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2160, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6, 6, 5, 3, 4)] opt {}
6: op Reshape shape [(3, 5, 2160), (7,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6, 6, 5, 3, 4), (3,)] opt {}
2: op Transpose shape [(3, 5, 2160)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2160, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2160, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6, 6, 5, 3, 4)] opt {}
6: op Reshape shape [(3, 5, 2160), (7,)] opt {}
7: op Identity shape [(3, 5, 6, 6, 5, 3, 4)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6, 6, 5, 3, 4), (3,)] opt {}
2: op Transpose shape [(3, 5, 2160)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2160, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2160, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6, 6, 5, 3, 4)] opt {}
6: op Reshape shape [(3, 5, 2160), (7,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 6, 6, 5, 3, 4), (3,)] opt {}
2: op Transpose shape [(3, 5, 2160)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2160, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2160, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 6, 6, 5, 3, 4)] opt {}
6: op Reshape shape [(3, 5, 2160), (7,)] opt {}
7: op Identity shape [(3, 5, 6, 6, 5, 3, 4)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 6, 6, 5, 3, 4), (3, 6, 6, 5, 3, 4)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2), (3,)] opt {}
2: op Transpose shape [(3, 5, 2)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2)] opt {}
6: op Reshape shape [(3, 5, 2), (3,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2), (3,)] opt {}
2: op Transpose shape [(3, 5, 2)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2)] opt {}
6: op Reshape shape [(3, 5, 2), (3,)] opt {}
7: op Identity shape [(3, 5, 2)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2), (3, 2)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2), (3,)] opt {}
2: op Transpose shape [(3, 5, 2)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2)] opt {}
6: op Reshape shape [(3, 5, 2), (3,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2), (3, 2)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2), (3,)] opt {}
2: op Transpose shape [(3, 5, 2)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2)] opt {}
6: op Reshape shape [(3, 5, 2), (3,)] opt {}
7: op Identity shape [(3, 5, 2)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare .s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s<class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2, 7), (3, 2, 7)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2, 7), (3,)] opt {}
2: op Transpose shape [(3, 5, 14)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 14, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 14, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2, 7)] opt {}
6: op Reshape shape [(3, 5, 14), (4,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 2, 7), (3, 2, 7)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2, 7), (3, 2, 7)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2, 7), (3,)] opt {}
2: op Transpose shape [(3, 5, 14)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 14, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 14, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2, 7)] opt {}
6: op Reshape shape [(3, 5, 14), (4,)] opt {}
7: op Identity shape [(3, 5, 2, 7)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 2, 7), (3, 2, 7)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2), (3, 2), (5,)] opt {'ignore_index': 1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2), (3,)] opt {}
2: op Transpose shape [(3, 5, 2)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2)] opt {}
6: op Reshape shape [(3, 5, 2), (3,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2), (5,)] opt {'reduction': 'mean', 'ignore_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2), (3, 2), (5,)] opt {'ignore_index': 1, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2), (3,)] opt {}
2: op Transpose shape [(3, 5, 2)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 2, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 2, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2)] opt {}
6: op Reshape shape [(3, 5, 2), (3,)] opt {}
7: op Identity shape [(3, 5, 2)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 2), (3, 2), (5,)] opt {'reduction': 'mean', 'ignore_index': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2, 7), (3, 2, 7), (5,)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2, 7), (3,)] opt {}
2: op Transpose shape [(3, 5, 14)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 14, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 14, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2, 7)] opt {}
6: op Reshape shape [(3, 5, 14), (4,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5, 2, 7), (3, 2, 7), (5,)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5, 2, 7), (3, 2, 7), (5,)] opt {'ignore_index': 2, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5, 2, 7), (3,)] opt {}
2: op Transpose shape [(3, 5, 14)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 14, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 14, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5, 2, 7)] opt {}
6: op Reshape shape [(3, 5, 14), (4,)] opt {}
7: op Identity shape [(3, 5, 2, 7)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5, 2, 7), (3, 2, 7), (5,)] opt {'reduction': 'mean', 'ignore_index': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'ignore_index': 0, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'mean', 'ignore_index': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'ignore_index': 0, 'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssssssssss.s.s.s.s.s.s5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'mean', 'ignore_index': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'mean'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y', 'w']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,), (5,)] opt {'reduction': 'none'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op SoftmaxCrossEntropyLoss shape [(3, 5), (3,)] opt {'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (3,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(3, 5), (3,)] opt {}
2: op Transpose shape [(3, 5, 1)] opt {'perm': (0, 2, 1)}
3: op LogSoftmax shape [(3, 1, 5)] opt {'axis': 2}
4: op Transpose shape [(3, 1, 5)] opt {'perm': (0, 2, 1)}
5: op Shape shape [(3, 5)] opt {}
6: op Reshape shape [(3, 5, 1), (2,)] opt {}
7: op Identity shape [(3, 5)] opt {}
8: op NegativeLogLikelihoodLoss shape [(3, 5), (3,)] opt {'reduction': 'sum'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Selu shape [(3, 4, 5)] opt {'alpha': 2.0, 'gamma': 3.0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Selu shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 1.6732631921768188}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value_float': 1.0507010221481323}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Exp shape [(3, 4, 5)] opt {}
7: op Mul shape [(), (3, 4, 5)] opt {}
8: op Sub shape [(3, 4, 5), ()] opt {}
9: op Mul shape [(), (3, 4, 5)] opt {}
10: op Mul shape [(), (3, 4, 5)] opt {}
11: op Less shape [(3, 4, 5), ()] opt {}
12: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Selu shape [(3,)] opt {'alpha': 2.0, 'gamma': 3.0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 2.0}
1: op CastLike shape [(), (3,)] opt {}
2: op Constant shape [] opt {'value_float': 3.0}
3: op CastLike shape [(), (3,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3,)] opt {}
6: op Exp shape [(3,)] opt {}
7: op Mul shape [(), (3,)] opt {}
8: op Sub shape [(3,), ()] opt {}
9: op Mul shape [(), (3,)] opt {}
10: op Mul shape [(), (3,)] opt {}
11: op Less shape [(3,), ()] opt {}
12: op Where shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 2.0}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value_float': 3.0}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (3, 4, 5)] opt {}
6: op Exp shape [(3, 4, 5)] opt {}
7: op Mul shape [(), (3, 4, 5)] opt {}
8: op Sub shape [(3, 4, 5), ()] opt {}
9: op Mul shape [(), (3, 4, 5)] opt {}
10: op Mul shape [(), (3, 4, 5)] opt {}
11: op Less shape [(3, 4, 5), ()] opt {}
12: op Where shape [(3, 4, 5), (3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'end': 10}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'start': -10}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'end': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'end': -1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(2, 3)] opt {}
prepare .s.s.s.s.s.s.s.s.s.s.sssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s<class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'start': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'end': 2, 'start': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'end': -1, 'start': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shape shape [(3, 4, 5)] opt {'start': -1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shrink shape [(5,)] opt {'lambd': 1.5}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 1.5}
1: op CastLike shape [(), (5,)] opt {}
2: op Constant shape [] opt {'value_float': 0.0}
3: op CastLike shape [(), (5,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (5,)] opt {}
6: op Neg shape [()] opt {}
7: op Less shape [(5,), ()] opt {}
8: op Add shape [(5,), ()] opt {}
9: op Sub shape [(5,), ()] opt {}
10: op Less shape [(), (5,)] opt {}
11: op Where shape [(5,), (5,), ()] opt {}
12: op Where shape [(5,), (5,), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shrink shape [(5,)] opt {'bias': 1.5, 'lambd': 1.5}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 1.5}
1: op CastLike shape [(), (5,)] opt {}
2: op Constant shape [] opt {'value_float': 1.5}
3: op CastLike shape [(), (5,)] opt {}
4: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
5: op CastLike shape [(), (5,)] opt {}
6: op Neg shape [()] opt {}
7: op Less shape [(5,), ()] opt {}
8: op Add shape [(5,), ()] opt {}
9: op Sub shape [(5,), ()] opt {}
10: op Less shape [(), (5,)] opt {}
11: op Where shape [(5,), (5,), ()] opt {}
12: op Where shape [(5,), (5,), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sigmoid shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sigmoid shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sign shape [(11,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sin shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sin shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sinh shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sinh shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Size shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Size shape [(2, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes', 'steps']
0: op Slice shape [(20, 10, 5), (2,), (2,), (2,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends']
0: op Slice shape [(20, 10, 5), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes']
0: op Slice shape [(20, 10, 5), (3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes', 'steps']
0: op Slice shape [(20, 10, 5), (1,), (1,), (1,), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes', 'steps']
0: op Slice shape [(20, 10, 5), (1,), (1,), (1,), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes', 'steps']
0: op Slice shape [(20, 10, 5), (3,), (3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes']
0: op Slice shape [(20, 10, 5), (3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'starts', 'ends', 'axes', 'steps']
0: op Slice shape [(20, 10, 5), (1,), (1,), (1,), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(3, 4, 5)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (0,)}
2: op Sub shape [(3, 4, 5), (1, 4, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (1, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (1, 4, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (1, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(3, 4, 5)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (1,)}
2: op Sub shape [(3, 4, 5), (3, 1, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 1, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 1, 5)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 1, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(3, 4, 5)] opt {'axis': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (2,)}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(1, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(1, 3)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(1, 3), (1, 1)] opt {}
3: op Exp shape [(1, 3)] opt {}
4: op ReduceSum shape [(1, 3), (1,)] opt {'keepdims': 1}
5: op Div shape [(1, 3), (1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssss.s.s.s.s.s.s.s.s.s.s.s.sssssssssssssssssssssssssssssssssssssss.s.s.s.s.s.s.s.s.s.s.sssssssssssssss.s.s.s.s ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(1, 3), (1,)] opt {'keepdims': 1}
2: op Sub shape [(1, 3), (1, 1)] opt {}
3: op Exp shape [(1, 3)] opt {}
4: op ReduceSum shape [(1, 3), (1,)] opt {'keepdims': 1}
5: op Div shape [(1, 3), (1, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(2, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(2, 4)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(2, 4), (2, 1)] opt {}
3: op Exp shape [(2, 4)] opt {}
4: op ReduceSum shape [(2, 4), (1,)] opt {'keepdims': 1}
5: op Div shape [(2, 4), (2, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(2, 4), (1,)] opt {'keepdims': 1}
2: op Sub shape [(2, 4), (2, 1)] opt {}
3: op Exp shape [(2, 4)] opt {}
4: op ReduceSum shape [(2, 4), (1,)] opt {'keepdims': 1}
5: op Div shape [(2, 4), (2, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softmax shape [(3, 4, 5)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5)] opt {'keepdims': 1, 'axes': (-1,)}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op ReduceMax shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
2: op Sub shape [(3, 4, 5), (3, 4, 1)] opt {}
3: op Exp shape [(3, 4, 5)] opt {}
4: op ReduceSum shape [(3, 4, 5), (1,)] opt {'keepdims': 1}
5: op Div shape [(3, 4, 5), (3, 4, 1)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softplus shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softplus shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Exp shape [(3,)] opt {}
1: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
2: op CastLike shape [(), (3,)] opt {}
3: op Add shape [(3,), ()] opt {}
4: op Log shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Exp shape [(3, 4, 5)] opt {}
1: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
2: op CastLike shape [(), (3, 4, 5)] opt {}
3: op Add shape [(3, 4, 5), ()] opt {}
4: op Log shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softsign shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Softsign shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3,)] opt {}
2: op Abs shape [(3,)] opt {}
3: op Add shape [(), (3,)] opt {}
4: op Div shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Abs shape [(3, 4, 5)] opt {}
3: op Add shape [(), (3, 4, 5)] opt {}
4: op Div shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op SpaceToDepth shape [(2, 2, 6, 6)] opt {'blocksize': 2}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op SpaceToDepth shape [(1, 1, 4, 6)] opt {'blocksize': 2}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(7,)] opt {'num_outputs': 4}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(2, 8)] opt {'axis': 1, 'num_outputs': 3}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(6,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(6,)] opt {'axis': 0, 'num_outputs': 3}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(2, 6)] opt {'axis': 1, 'num_outputs': 2}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(2, 6)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(6,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input']
0: op Split shape [(6,)] opt {'num_outputs': 3}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(6,), (2,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(6,), (2,)] opt {'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(2, 6), (2,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(2, 6), (2,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(6,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(6,), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(0,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['input', 'split']
0: op Split shape [(0,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sqrt shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sqrt shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Squeeze shape [(1, 3, 4, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Squeeze shape [(1, 3, 1, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Sub shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Sub shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Sub shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Sub shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1', 'data_2']
0: op Sum shape [(3,), (3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0']
0: op Sum shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['data_0', 'data_1']
0: op Sum shape [(3,), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Tan shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Tan shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Tanh shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Tanh shape [(3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op ThresholdedRelu shape [(3, 4, 5)] opt {'alpha': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op ThresholdedRelu shape [(3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 1.0}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Less shape [(), (3, 4, 5)] opt {}
5: op Where shape [(3, 4, 5), (3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op ThresholdedRelu shape [(5,)] opt {'alpha': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 2.0}
1: op CastLike shape [(), (5,)] opt {}
.s.s.s.sssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (5,)] opt {}
4: op Less shape [(), (5,)] opt {}
5: op Where shape [(5,), (5,), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Constant shape [] opt {'value_float': 2.0}
1: op CastLike shape [(), (3, 4, 5)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
3: op CastLike shape [(), (3, 4, 5)] opt {}
4: op Less shape [(), (3, 4, 5)] opt {}
5: op Where shape [(3, 4, 5), (3, 4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Tile shape [(2, 3, 4, 5), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Tile shape [(2, 2), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r', 't']
0: op Dropout shape [(3, 4, 5), (), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r', 't']
0: op Dropout shape [(3, 4, 5), (), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r', 't']
0: op Dropout shape [(3, 4, 5), (), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r', 't']
0: op Dropout shape [(3, 4, 5), (), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r', 't']
0: op Dropout shape [(3, 4, 5), (), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'r', 't']
0: op Dropout shape [(3, 4, 5), (), ()] opt {'seed': 0}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {'perm': (0, 1, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {'perm': (0, 2, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {'perm': (1, 0, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {'perm': (1, 2, 0)}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {'perm': (2, 0, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {'perm': (2, 1, 0)}
prepare <class '__main__.TinygradBackend'> CPU ['data']
0: op Transpose shape [(2, 3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Trilu shape [(4, 5)] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Trilu shape [(3, 1, 5)] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Trilu shape [(2, 3, 3)] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(2, 3, 3), ()] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(3, 0, 5), ()] opt {'upper': 0}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Trilu shape [(4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(3, 1, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(4, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Trilu shape [(2, 3, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(2, 3, 3), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'k']
0: op Trilu shape [(0, 5), ()] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(3, 4, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(3, 4, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(3, 4, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(1, 3, 1, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(3, 4, 5), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(3, 4, 5), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'axes']
0: op Unsqueeze shape [(3, 4, 5), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'scales']
0: op Upsample shape [(1, 1, 2, 2), (4,)] opt {'mode': 'nearest'}
prepare <class '__main__.TinygradBackend'> CPU ['condition', 'x', 'y']
0: op Where shape [(2, 2), (2, 2), (2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['condition', 'x', 'y']
0: op Where shape [(2, 2), (2, 2), (2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'pads']
0: op Pad shape [(1, 3, 4, 5), (8,)] opt {'mode': 'wrap'}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4), (3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4, 5), (3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4, 5, 6), (3, 4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4, 5), (5,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4, 5), (4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4, 5, 6), (5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(3, 4, 5, 6), (4, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x', 'y']
0: op Xor shape [(1, 4, 1, 6), (3, 1, 5, 6)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Unsqueeze shape [(2, 3, 6)] opt {'axes': (3,)}
1: op AveragePool shape [(2, 3, 6, 1)] opt {'kernel_shape': (2, 1), 'pads': (0, 0, 0, 0), 'strides': (2, 1)}
2: op Squeeze shape [(2, 3, 3, 1)] opt {'axes': (3,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Unsqueeze shape [(2, 3, 6)] opt {'axes': (3,)}
1: op AveragePool shape [(2, 3, 6, 1)] opt {'kernel_shape': (2, 1), 'pads': (0, 0, 0, 0), 'strides': (2, 1)}
2: op Squeeze shape [(2, 3, 3, 1)] opt {'axes': (3,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op AveragePool shape [(2, 3, 6, 6)] opt {'kernel_shape': (2, 2), 'pads': (0, 0, 0, 0), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op AveragePool shape [(2, 3, 6, 6)] opt {'kernel_shape': (2, 2), 'pads': (0, 0, 0, 0), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op AveragePool shape [(2, 3, 4, 4, 4)] opt {'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op AveragePool shape [(2, 3, 4, 4, 4)] opt {'kernel_shape': (3, 3, 3), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op AveragePool shape [(2, 3, 5, 5, 5)] opt {'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op BatchNormalization shape [(4, 5, 3), (5,), (5,), (5,), (5,)] opt {'epsilon': 9.999999747378752e-06, 'is_test': 1, 'momentum': 0.8999999761581421}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op BatchNormalization shape [(2, 3, 6, 6), (3,), (3,), (3,), (3,)] opt {'epsilon': 9.999999747378752e-06, 'is_test': 1, 'momentum': 0.8999999761581421}
prepare <class '__main__.TinygradBackend'> CPU ['0']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s0: op BatchNormalization shape [(2, 3, 6, 6), (3,), (3,), (3,), (3,)] opt {'epsilon': 0.0010000000474974513, 'is_test': 1, 'momentum': 0.20000000298023224}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op BatchNormalization shape [(2, 3, 4, 4, 4), (3,), (3,), (3,), (3,)] opt {'epsilon': 9.999999747378752e-06, 'is_test': 1, 'momentum': 0.8999999761581421}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op BatchNormalization shape [(2, 3, 4, 4, 4), (3,), (3,), (3,), (3,)] opt {'epsilon': 0.0010000000474974513, 'is_test': 1, 'momentum': 0.30000001192092896}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Pad shape [(2, 3, 4, 4)] opt {'mode': 'constant', 'pads': (0, 0, 3, 1, 0, 0, 4, 2), 'value': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 10), (5, 4, 3), (5,)] opt {'dilations': (1,), 'group': 1, 'kernel_shape': (3,), 'pads': (0, 0), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 10), (5, 4, 3), (5,)] opt {'dilations': (2,), 'group': 1, 'kernel_shape': (3,), 'pads': (0, 0), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6), (6, 2, 3), (6,)] opt {'dilations': (1,), 'group': 2, 'kernel_shape': (3,), 'pads': (0, 0), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 10), (5, 4, 3), (5,)] opt {'dilations': (1,), 'group': 1, 'kernel_shape': (3,), 'pads': (1, 1), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(1, 4, 1), (4, 4, 3), (4,)] opt {'dilations': (1,), 'group': 1, 'kernel_shape': (3,), 'pads': (1, 1), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 10), (5, 4, 5), (5,)] opt {'dilations': (1,), 'group': 1, 'kernel_shape': (5,), 'pads': (2, 2), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(1, 4, 1), (4, 4, 5), (4,)] opt {'dilations': (1,), 'group': 1, 'kernel_shape': (5,), 'pads': (2, 2), 'strides': (1,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 10), (5, 4, 3), (5,)] opt {'dilations': (1,), 'group': 1, 'kernel_shape': (3,), 'pads': (0, 0), 'strides': (2,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 7, 5), (4, 3, 3, 2), (4,)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 2), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6, 6), (4, 1, 3, 3), (4,)] opt {'dilations': (1, 1), 'group': 4, 'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6, 6), (4, 1, 3, 3), (4,)] opt {'dilations': (1, 1), 'group': 4, 'kernel_shape': (3, 3), 'pads': (1, 1, 1, 1), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6, 6), (4, 1, 3, 3), (4,)] opt {'dilations': (1, 1), 'group': 4, 'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6, 6), (8, 1, 3, 3), (8,)] opt {'dilations': (1, 1), 'group': 4, 'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 8, 8), (2, 3, 3, 3), (2,)] opt {'dilations': (2, 2), 'group': 1, 'kernel_shape': (3, 3), 'pads': (1, 1, 1, 1), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6, 5), (6, 2, 3, 2), (6,)] opt {'dilations': (1, 1), 'group': 2, 'kernel_shape': (3, 2), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 6, 5), (6, 2, 3, 2), (6,)] opt {'dilations': (1, 1), 'group': 2, 'kernel_shape': (3, 2), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 6, 5), (4, 3, 3, 2)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 2), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 6, 6), (4, 3, 3, 3), (4,)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 3), 'pads': (1, 1, 1, 1), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 6, 6), (4, 3, 3, 3), (4,)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 3, 4, 5), (4, 3, 2, 3, 4), (4,)] opt {'dilations': (1, 1, 1), 'group': 1, 'kernel_shape': (2, 3, 4), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 5, 5, 5), (4, 3, 2, 2, 2), (4,)] opt {'dilations': (2, 2, 2), 'group': 1, 'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 5, 5, 5), (4, 3, 2, 2, 2), (4,)] opt {'dilations': (2, 2, 2), 'group': 1, 'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 4, 4, 5, 4), (6, 2, 3, 3, 3), (6,)] opt {'dilations': (1, 1, 1), 'group': 2, 'kernel_shape': (3, 3, 3), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 3, 4, 5), (4, 3, 2, 3, 4)] opt {'dilations': (1, 1, 1), 'group': 1, 'kernel_shape': (2, 3, 4), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (1, 1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 5, 5, 5), (4, 3, 2, 2, 2), (4,)] opt {'dilations': (1, 1, 1), 'group': 1, 'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(2, 3, 5, 5, 5), (4, 3, 2, 2, 2), (4,)] opt {'dilations': (1, 1, 1), 'group': 1, 'kernel_shape': (2, 2, 2), 'pads': (1, 1, 1, 1, 1, 1), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op ConvTranspose shape [(1, 3, 7, 6), (3, 4, 3, 3), (4,)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 3), 'output_padding': (1, 1), 'pads': (1, 1, 1, 1), 'strides': (3, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op ConvTranspose shape [(1, 3, 6, 7), (3, 4, 3, 3)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 3), 'output_padding': (1, 1), 'pads': (1, 1, 1, 1), 'strides': (2, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Elu shape [(3, 2, 5)] opt {'alpha': 2.0}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Gather shape [(4, 3), (1, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Gather shape [(4, 3), (1, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Split shape [(5, 6)] opt {'axis': -1}
1: op Sigmoid shape [(5, 3)] opt {}
2: op Mul shape [(5, 3), (5, 3)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Split shape [(5, 6, 7)] opt {'axis': 1}
1: op Sigmoid shape [(5, 3, 7)] opt {}
2: op Mul shape [(5, 3, 7), (5, 3, 7)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op LeakyRelu shape [(3, 2, 5)] opt {'alpha': 0.009999999776482582}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op LeakyRelu shape [(3, 2, 5)] opt {'alpha': 0.5}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Gemm shape [(4, 10), (8, 10), (8,)] opt {'alpha': 1.0, 'beta': 1.0, 'broadcast': 1, 'transB': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Transpose shape [(8, 10)] opt {'perm': (1, 0)}
1: op MatMul shape [(4, 10), (10, 8)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op LogSoftmax shape [(10, 20)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op MaxPool shape [(2, 10, 4)] opt {'kernel_shape': (4,), 'pads': (0, 0), 'strides': (4,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s0: op MaxPool shape [(2, 10, 4)] opt {'kernel_shape': (4,), 'pads': (0, 0), 'strides': (4,)}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op MaxPool shape [(1, 1, 220000)] opt {'dilations': (10,), 'kernel_shape': (200,), 'pads': (100, 100), 'strides': (10,)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op MaxPool shape [(1, 3, 7, 7)] opt {'kernel_shape': (3, 3), 'pads': (1, 1, 1, 1), 'strides': (2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['X']
0: op MaxPool shape [(1, 1, 1000, 1000)] opt {'dilations': (10, 10), 'kernel_shape': (60, 80), 'pads': (10, 20, 10, 20), 'strides': (10, 10)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op MaxPool shape [(2, 3, 5, 5, 5)] opt {'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op MaxPool shape [(2, 3, 5, 5, 5)] opt {'kernel_shape': (2, 2, 2), 'pads': (0, 0, 0, 0, 0, 0), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op MaxPool shape [(2, 3, 5, 5, 5)] opt {'kernel_shape': (2, 2, 2), 'pads': (1, 1, 1, 1, 1, 1), 'strides': (2, 2, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op PRelu shape [(2, 3, 4), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op PRelu shape [(2, 3, 4), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op PRelu shape [(2, 3, 4, 5), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op PRelu shape [(2, 3, 4, 5), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op PRelu shape [(2, 3, 4, 5, 6), (1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op PRelu shape [(2, 3, 4, 5, 6), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (6,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(1, 9, 4, 4), (6,)] opt {}
2: op Transpose shape [(1, 1, 3, 3, 4, 4)] opt {'perm': (0, 1, 4, 2, 5, 3)}
3: op Constant shape [] opt {'value': <Tensor <LB HIP (4,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
4: op Reshape shape [(1, 1, 4, 3, 4, 3), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (10, 10) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Exp shape [(10, 10)] opt {}
2: op Mul shape [(10, 10), (10, 10)] opt {}
3: op Sub shape [(10, 10), (10, 10)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Relu shape [(2, 3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Pad shape [(2, 3, 8, 8)] opt {'mode': 'reflect', 'pads': (0, 0, 3, 1, 0, 0, 4, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Pad shape [(2, 3, 4, 4)] opt {'mode': 'edge', 'pads': (0, 0, 3, 1, 0, 0, 4, 2)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Selu shape [(3, 2, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Sigmoid shape [(2, 3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Softmax shape [(10, 20)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Neg shape [(10, 20)] opt {}
1: op Softmax shape [(10, 20)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Softplus shape [(10, 20)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Abs shape [(3, 2, 5)] opt {}
1: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
2: op Add shape [(3, 2, 5), ()] opt {'broadcast': 1}
3: op Div shape [(3, 2, 5), (3, 2, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Tanh shape [(2, 3, 4, 5)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Pad shape [(2, 3, 4, 4)] opt {'mode': 'constant', 'pads': (0, 0, 3, 1, 0, 0, 4, 2), 'value': 0.0}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op LogSoftmax shape [(2, 3, 4, 5)] opt {'axis': 3}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op LogSoftmax shape [(2, 128)] opt {'axis': -1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Softmax shape [(2, 3, 4, 5)] opt {'axis': 3}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Softmax shape [(2, 128)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Add shape [(2, 3), (3,)] opt {'broadcast': 1, 'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Add shape [(2, 3), (2, 1)] opt {'broadcast': 1, 'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Add shape [(2, 3), (3,)] opt {'broadcast': 1, 'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Add shape [(2, 3), (1, 3)] opt {'broadcast': 1, 'axis': 0}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Constant shape [] opt {'value': <Tensor <LB HIP () contig:True (<LoadOps.CONST: 2>, None)> on HIP with grad None>}
1: op Add shape [(2, 3), ()] opt {'broadcast': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1', '2']
0: op Gemm shape [(2, 3), (3, 4), (4,)] opt {'alpha': 1.0, 'beta': 1.0, 'broadcast': 1}
1: op Gemm shape [(2, 3), (3, 4), (2, 4)] opt {'alpha': 1.0, 'beta': 1.0}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Add shape [(1,), (1,)] opt {}
1: op Mul shape [(1,), (1,)] opt {}
2: op Tanh shape [(1,)] opt {}
3: op Sigmoid shape [(1,)] opt {}
4: op Neg shape [(1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Split shape [(3,)] opt {'axis': 0, 'split': (2, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Clip shape [(3, 4)] opt {'max': 0.5, 'min': -0.5}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Concat shape [(2, 3), (2, 3)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Conv shape [(20, 16, 50, 40), (13, 16, 3, 3)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 3), 'pads': (0, 0, 0, 0), 'strides': (1, 1)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op ConvTranspose shape [(2, 3, 4, 5), (3, 3, 3, 3)] opt {'dilations': (1, 1), 'group': 1, 'kernel_shape': (3, 3), 'output_padding': (2, 2), 'pads': (1, 1, 1, 1), 'strides': (3, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Exp shape [(3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Flatten shape [(1, 2, 3, 4)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Slice shape [(1, 1)] opt {'axes': (0,), 'ends': (1,), 'starts': (0,)}
1: op Squeeze shape [(1, 1)] opt {'axes': (0,)}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Max shape [(3, 4), (3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op MaxPool shape [(20, 16, 50)] opt {'kernel_shape': (3,), 'pads': (0, 0), 'strides': (2,)}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Min shape [(3, 4), (3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (1,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Gemm shape [(2, 3), (3, 4), (1,)] opt {'alpha': 1.0, 'beta': 0.0, 'broadcast': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Add shape [(2, 2), (2, 2)] opt {}
1: op Mul shape [(2, 2), (2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Pad shape [(1, 1, 2, 4)] opt {'mode': 'reflect', 'pads': (0, 0, 0, 2, 0, 0, 1, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Add shape [(2, 2), (2, 2)] opt {}
1: op Mul shape [(2, 2), (2, 2)] opt {}
2: op Tanh shape [(2, 2)] opt {}
3: op Sigmoid shape [(2, 2)] opt {}
4: op Neg shape [(2, 2)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Transpose shape [(1, 1, 1, 1, 1, 1)] opt {'perm': (0, 1, 4, 2, 5, 3)}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1']
0: op Pow shape [(1, 2, 3, 4), (1, 2, 3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op ReduceMean shape [(1, 2, 3, 4)] opt {'axes': (2,), 'keepdims': 0}
prepare .s.s.s.s.s.s.s.s.s.sssssssssssssssssss.s.s.s.s.s.sssssssssssssssss.s.s.sssssssssssss
----------------------------------------------------------------------
Ran 2802 tests in 48.621s

OK (skipped=1751)
<class '__main__.TinygradBackend'> CPU ['0']
0: op ReduceMean shape [(1, 2, 3, 4)] opt {'axes': (2,), 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op ReduceSum shape [(1, 2, 3, 4)] opt {'axes': (2,), 'keepdims': 0}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op ReduceSum shape [(1, 2, 3, 4)] opt {'axes': (2,), 'keepdims': 1}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (4,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Tile shape [(1, 2, 3, 4), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Constant shape [] opt {'value': <Tensor <LB HIP (4,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
1: op Reshape shape [(1, 2), (4,)] opt {}
2: op Constant shape [] opt {'value': <Tensor <LB HIP (4,) contig:True (<LoadOps.COPY: 3>, None)> on HIP with grad None>}
3: op Tile shape [(1, 1, 1, 2), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Selu shape [(1, 2, 3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Sqrt shape [(3, 4)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op InstanceNormalization shape [(2, 10, 32, 32), (10,), (10,)] opt {'epsilon': 9.999999717180685e-10}
prepare <class '__main__.TinygradBackend'> CPU ['0', '1', '2']
0: op Sum shape [(1,), (1,), (1,)] opt {}
1: op Neg shape [(1,)] opt {}
2: op Neg shape [(1,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['0']
0: op Flatten shape [(1,)] opt {'axis': 1}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'shape']
0: op Expand shape [(1, 3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'shape']
0: op Expand shape [(1, 3, 1), (2,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'shape']
0: op Expand shape [(1, 3, 1), (3,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['X', 'shape']
0: op Expand shape [(1, 3, 1), (4,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b']
0: op Add shape [(), ()] opt {}
1: op Mul shape [(), ()] opt {}
2: op Gradient shape [(), ()] opt {'xs': ('a', 'b'), 'y': 'd'}
prepare <class '__main__.TinygradBackend'> CPU ['a', 'b']
0: op Add shape [(), ()] opt {}
1: op Gradient shape [(), ()] opt {'xs': ('a', 'b'), 'y': 'c'}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Shrink shape [(5,)] opt {'bias': 1.5, 'lambd': 1.5}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Sign shape [(7,)] opt {}
prepare <class '__main__.TinygradBackend'> CPU ['x']
0: op Relu shape [(1, 2)] opt {}

external/external_test_optim.py

2024-02-10 09:23:45.295680: I external/local_tsl/tsl/cuda/cudart_stub.cc:31] Could not find cuda drivers on your machine, GPU will not be used.
2024-02-10 09:23:45.476796: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2024-02-10 09:23:45.476881: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2024-02-10 09:23:45.505615: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2024-02-10 09:23:45.568816: I external/local_tsl/tsl/cuda/cudart_stub.cc:31] Could not find cuda drivers on your machine, GPU will not be used.
2024-02-10 09:23:45.569626: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-02-10 09:23:46.387267: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_optim.py", line 5, in <module>
    import tensorflow_addons as tfa
ModuleNotFoundError: No module named 'tensorflow_addons'

external/external_test_opt.py

sssssssssssssssssssssssssssssssssss
----------------------------------------------------------------------
Ran 35 tests in 0.000s

OK (skipped=35)

external/external_test_speed_llama.py

testing llama python run time
built model
assigned empty tensors, doing warmup
codegen(0)      mean runtime:  905.64ms, runs:  1503.74,  706.63,  730.47,  784.90,  802.45
codegen(1)      mean runtime:  909.81ms, runs:  1484.50,  735.16,  787.18,  770.11,  772.11
methodcache     mean runtime:  245.76ms, runs:   258.16,  243.22,  242.94,  242.67,  241.83
profile         mean runtime:  564.73ms, runs:   572.05,  559.91,  559.11,  558.00,  574.60
n:  809468  tm:  36.16ms  tot:  67.73ms ~:0:<built-in method builtins.hash>                <-  81% <string>:2:__hash__
n:   26873  tm:  19.96ms  tot:  78.55ms lazy.py:156:_recursive_lazyop                      <-  86% lazy.py:189:<genexpr>
n:   36655  tm:  18.58ms  tot: 188.41ms tensor.py:30:apply                                 <-  23% tensor.py:303:reshape
n:   38344  tm:  17.06ms  tot:  37.08ms lazy.py:28:__init__                                <- 100% lazy.py:18:create_lazybuffer
n:   41784  tm:  15.81ms  tot:  82.02ms lazy.py:18:create_lazybuffer                       <-  50% lazy.py:141:_view
n:   31257  tm:  15.50ms  tot:  31.41ms lazy.py:211:_recurse_lb                            <-  97% lazy.py:211:_recurse_lb
n:   30126  tm:  13.55ms  tot:  25.99ms ops.py:55:cached_compare                           <-  84% ops.py:59:<genexpr>
n:    7901  tm:  11.54ms  tot:  85.89ms tensor.py:787:_broadcasted                         <-  59% tensor.py:820:mul
n:  255662  tm:  10.96ms  tot:  10.96ms ~:0:<built-in method builtins.isinstance>          <-  73% enum.py:396:__contains__
n:  110711  tm:  10.64ms  tot:  22.90ms shapetracker.py:116:size                           <-  39% lazy.py:18:create_lazybuffer
n:   62555  tm:  10.54ms  tot:  18.81ms shapetracker.py:171:simplify                       <-  75% shapetracker.py:98:__add__
n:  301247  tm:   9.81ms  tot:   9.81ms lazy.py:52:base                                    <-  30% lazy.py:211:_recurse_lb
n:    9491  tm:   9.53ms  tot:  49.85ms lazy.py:105:e                                      <-  52% mlops.py:113:forward
n:   29941  tm:   9.37ms  tot:  31.66ms functools.py:961:__get__                           <- 100% ops.py:65:__hash__
n:     495  tm:   8.91ms  tot: 166.10ms lazy.py:245:create_schedule                        <- 100% lazy.py:79:schedule
n:   80534  tm:   8.60ms  tot:   8.60ms <string>:2:__eq__                                  <-  33% tensor.py:948:cast
n:   76956  tm:   8.58ms  tot:  41.87ms ~:0:<built-in method builtins.all>                 <-  32% ops.py:55:cached_compare
n:     495  tm:   7.99ms  tot: 103.54ms realize.py:42:run_schedule                         <- 100% tensor.py:115:realize
n:   25423  tm:   7.92ms  tot:  58.06ms lazy.py:141:_view                                  <-  44% lazy.py:146:reshape
n:  110172  tm:   7.88ms  tot:   7.88ms <string>:2:__init__                                <-  22% shapetracker.py:107:from_shape
n:   36655  tm:   7.70ms  tot:  10.88ms tensor.py:21:__init__                              <- 100% tensor.py:30:apply
n:   89321  tm:   7.43ms  tot:   9.82ms <string>:2:__hash__                                <-  22% ~:0:<method 'get' of 'dict' objects>
n:   36935  tm:   7.32ms  tot:  71.81ms lazy.py:189:<genexpr>                              <- 100% lazy.py:156:_recursive_lazyop
n:   19574  tm:   7.30ms  tot:  12.76ms helpers.py:33:merge_dicts                          <-  83% shapetracker.py:131:unbind
n:   15862  tm:   6.13ms  tot:  36.06ms tensor.py:307:expand                               <-  99% tensor.py:787:_broadcasted
n:  118261  tm:   5.97ms  tot:   8.54ms enum.py:783:__hash__                               <-  25% ~:0:<built-in method builtins.hash>
n:  101666  tm:   5.94ms  tot:  19.16ms ~:0:<method 'get' of 'dict' objects>               <-  83% lazy.py:18:create_lazybuffer
n:    7901  tm:   5.92ms  tot: 100.18ms lazy.py:193:_recursive_schedule                    <-  85% lazy.py:208:<genexpr>
n:  284500  tm:   5.61ms  tot:   5.61ms ~:0:<built-in method builtins.len>                 <-  22% shapetracker.py:171:simplify
n:   56625  tm:   4.91ms  tot:  12.88ms enum.py:396:__contains__                           <-  43% lazy.py:245:create_schedule
n:    9760  tm:   4.54ms  tot:  42.97ms tensor.py:303:reshape                              <-  32% tensor.py:787:_broadcasted
n:   22872  tm:   4.50ms  tot:  23.19ms shapetracker.py:98:__add__                         <-  58% lazy.py:156:_recursive_lazyop
n:     985  tm:   4.46ms  tot:  18.99ms tensor.py:349:__getitem__                          <-  63% llama.py:12:complex_mult
n:   16011  tm:   4.44ms  tot:  20.39ms shapetracker.py:131:unbind                         <-  79% lazy.py:156:_recursive_lazyop
n:   38359  tm:   3.95ms  tot:  14.94ms ~:0:<method 'pop' of 'dict' objects>               <- 100% lazy.py:46:__del__

external/external_test_uops_graphing.py

<class 'networkx.utils.decorators.argmap'> compilation 5:5: DeprecationWarning: nx.nx_pydot.write_dot depends on the pydot package, which hasknown issues and is not actively maintained. Consider usingnx.nx_agraph.write_dot instead.

See https://github.com/networkx/networkx/issues/5723
EEE
======================================================================
ERROR: test_conv (__main__.TestUopsGraph)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_uops_graphing.py", line 39, in test_conv
    graph_uops(uops)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/graph.py", line 95, in graph_uops
    save_graph(G, f'{GRAPHPATH}.uops', '-Grankdir=LR')
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/graph.py", line 25, in save_graph
    nx.drawing.nx_pydot.write_dot(G, f'{fn}.dot')
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/utils/decorators.py", line 766, in func
    return argmap._lazy_compile(__wrapper)(*args, **kwargs)
  File "<class 'networkx.utils.decorators.argmap'> compilation 5", line 5, in argmap_write_dot_1
    import itertools
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 51, in write_dot
    P = to_pydot(G)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 219, in to_pydot
    import pydot
ModuleNotFoundError: No module named 'pydot'

======================================================================
ERROR: test_matmul (__main__.TestUopsGraph)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_uops_graphing.py", line 19, in test_matmul
    graph_uops(uops)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/graph.py", line 95, in graph_uops
    save_graph(G, f'{GRAPHPATH}.uops', '-Grankdir=LR')
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/graph.py", line 25, in save_graph
    nx.drawing.nx_pydot.write_dot(G, f'{fn}.dot')
  File "<class 'networkx.utils.decorators.argmap'> compilation 5", line 5, in argmap_write_dot_1
    import itertools
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 51, in write_dot
    P = to_pydot(G)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 219, in to_pydot
    import pydot
ModuleNotFoundError: No module named 'pydot'

======================================================================
ERROR: test_reduce (__main__.TestUopsGraph)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_uops_graphing.py", line 29, in test_reduce
    graph_uops(uops)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/graph.py", line 95, in graph_uops
    save_graph(G, f'{GRAPHPATH}.uops', '-Grankdir=LR')
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/graph.py", line 25, in save_graph
    nx.drawing.nx_pydot.write_dot(G, f'{fn}.dot')
  File "<class 'networkx.utils.decorators.argmap'> compilation 5", line 5, in argmap_write_dot_1
    import itertools
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 51, in write_dot
    P = to_pydot(G)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/networkx/drawing/nx_pydot.py", line 219, in to_pydot
    import pydot
ModuleNotFoundError: No module named 'pydot'

----------------------------------------------------------------------
Ran 3 tests in 0.193s

FAILED (errors=3)
saving DiGraph with 251 nodes and 412 edges to /tmp/net.uops.svg
  32   16    8   16  256    4    4    4
saving DiGraph with 187 nodes and 378 edges to /tmp/net.uops.svg
saving DiGraph with 25 nodes and 34 edges to /tmp/net.uops.svg

external/external_test_whisper_librispeech.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_whisper_librispeech.py", line 4, in <module>
    import torchaudio
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/torchaudio/__init__.py", line 2, in <module>
    from . import _extension  # noqa  # usort: skip
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/torchaudio/_extension/__init__.py", line 38, in <module>
    _load_lib("libtorchaudio")
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/torchaudio/_extension/utils.py", line 60, in _load_lib
    torch.ops.load_library(path)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/torch/_ops.py", line 1003, in load_library
    ctypes.CDLL(path)
  File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libhipblas.so.1: cannot open shared object file: No such file or directory

external/external_test_yolo.py

https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3.cfg:   0%|          | 0.00/8.34k [00:00<?, ?B/s]
https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov3.cfg: 100%|██████████| 8.34k/8.34k [00:00<00:00, 22.3MB/s]
Modules length: 107
Loading weights file (237MB). This might take a while…

https://pjreddie.com/media/files/yolov3.weights:   0%|          | 0.00/248M [00:00<?, ?B/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 65.5k/248M [00:00<09:16, 446kB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 115k/248M [00:00<10:55, 378kB/s] 
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 164k/248M [00:00<09:51, 419kB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 279k/248M [00:00<06:57, 593kB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 410k/248M [00:00<05:12, 792kB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 557k/248M [00:00<04:17, 961kB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 672k/248M [00:00<04:03, 1.01MB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 852k/248M [00:00<03:21, 1.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 1.02M/248M [00:01<03:09, 1.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:   0%|          | 1.18M/248M [00:01<02:58, 1.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 1.39M/248M [00:01<02:35, 1.58MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 1.57M/248M [00:01<02:29, 1.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 1.77M/248M [00:01<02:24, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 2.05M/248M [00:01<02:02, 2.01MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 2.26M/248M [00:01<02:01, 2.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 2.47M/248M [00:01<02:06, 1.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|          | 2.85M/248M [00:01<01:40, 2.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|▏         | 3.11M/248M [00:02<01:44, 2.35MB/s]
https://pjreddie.com/media/files/yolov3.weights:   1%|▏         | 3.46M/248M [00:02<01:32, 2.65MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 3.75M/248M [00:02<01:37, 2.51MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 4.10M/248M [00:02<01:28, 2.76MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 4.46M/248M [00:02<01:26, 2.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 4.75M/248M [00:02<01:28, 2.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 5.06M/248M [00:02<01:25, 2.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 5.39M/248M [00:02<01:26, 2.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 5.69M/248M [00:02<01:24, 2.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:   2%|▏         | 6.06M/248M [00:03<01:18, 3.08MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 6.37M/248M [00:03<01:21, 2.95MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 6.70M/248M [00:03<01:20, 3.01MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 7.03M/248M [00:03<01:18, 3.05MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 7.34M/248M [00:03<01:19, 3.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 7.65M/248M [00:03<01:21, 2.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 7.96M/248M [00:03<01:22, 2.90MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 8.26M/248M [00:03<01:26, 2.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:   3%|▎         | 8.60M/248M [00:03<01:21, 2.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▎         | 8.91M/248M [00:04<01:45, 2.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 9.36M/248M [00:04<01:26, 2.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 9.67M/248M [00:04<01:32, 2.58MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 9.96M/248M [00:04<01:32, 2.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 10.2M/248M [00:04<01:50, 2.15MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 10.6M/248M [00:04<01:41, 2.35MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 10.8M/248M [00:04<01:54, 2.07MB/s]
https://pjreddie.com/media/files/yolov3.weights:   4%|▍         | 11.0M/248M [00:05<01:53, 2.08MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▍         | 11.3M/248M [00:05<02:18, 1.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▍         | 11.5M/248M [00:05<02:16, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▍         | 11.7M/248M [00:05<02:19, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▍         | 11.9M/248M [00:05<02:09, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▍         | 12.1M/248M [00:05<02:19, 1.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▍         | 12.3M/248M [00:05<02:18, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▌         | 12.5M/248M [00:05<02:14, 1.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▌         | 12.7M/248M [00:06<02:15, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▌         | 12.9M/248M [00:06<02:10, 1.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▌         | 13.1M/248M [00:06<02:04, 1.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▌         | 13.3M/248M [00:06<02:17, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:   5%|▌         | 13.5M/248M [00:06<02:18, 1.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 13.7M/248M [00:06<02:18, 1.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 13.9M/248M [00:06<02:07, 1.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 14.1M/248M [00:06<02:10, 1.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 14.3M/248M [00:06<02:08, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 14.5M/248M [00:07<02:08, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 14.7M/248M [00:07<02:08, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 14.9M/248M [00:07<02:09, 1.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 15.1M/248M [00:07<02:04, 1.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▌         | 15.3M/248M [00:07<02:05, 1.86MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▋         | 15.5M/248M [00:07<02:10, 1.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▋         | 15.7M/248M [00:07<02:06, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:   6%|▋         | 16.0M/248M [00:07<02:00, 1.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 16.2M/248M [00:07<02:03, 1.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 16.4M/248M [00:08<02:30, 1.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 16.7M/248M [00:08<02:12, 1.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 16.9M/248M [00:08<02:11, 1.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 17.0M/248M [00:08<02:22, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 17.2M/248M [00:08<02:20, 1.65MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 17.4M/248M [00:08<02:23, 1.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 17.6M/248M [00:08<02:19, 1.65MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 17.8M/248M [00:08<02:17, 1.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 17.9M/248M [00:09<02:20, 1.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 18.2M/248M [00:09<02:12, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 18.3M/248M [00:09<02:16, 1.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:   7%|▋         | 18.5M/248M [00:09<02:15, 1.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 18.7M/248M [00:09<02:15, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 18.9M/248M [00:09<02:15, 1.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 19.1M/248M [00:09<02:09, 1.77MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 19.3M/248M [00:09<02:07, 1.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 19.5M/248M [00:09<02:03, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 19.7M/248M [00:10<02:02, 1.86MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 19.9M/248M [00:10<02:03, 1.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 20.2M/248M [00:10<02:00, 1.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 20.4M/248M [00:10<02:00, 1.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 20.6M/248M [00:10<02:01, 1.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 20.8M/248M [00:10<02:01, 1.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:   8%|▊         | 21.0M/248M [00:10<01:57, 1.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▊         | 21.2M/248M [00:10<02:25, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▊         | 21.5M/248M [00:10<01:56, 1.95MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 21.7M/248M [00:11<02:05, 1.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 21.9M/248M [00:11<02:12, 1.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 22.1M/248M [00:11<02:21, 1.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 22.3M/248M [00:11<02:18, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 22.5M/248M [00:11<02:20, 1.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 22.7M/248M [00:11<02:23, 1.58MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 22.9M/248M [00:11<02:23, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 23.0M/248M [00:11<02:22, 1.58MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 23.2M/248M [00:12<02:23, 1.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 23.3M/248M [00:12<02:23, 1.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:   9%|▉         | 23.5M/248M [00:12<02:24, 1.55MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 23.7M/248M [00:12<02:23, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 23.9M/248M [00:12<02:17, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 24.0M/248M [00:12<02:31, 1.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 24.2M/248M [00:12<02:23, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 24.4M/248M [00:12<02:23, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 24.6M/248M [00:12<02:18, 1.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|▉         | 24.8M/248M [00:13<02:13, 1.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 24.9M/248M [00:13<02:29, 1.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 25.1M/248M [00:13<02:25, 1.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 25.3M/248M [00:13<02:28, 1.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 25.5M/248M [00:13<02:41, 1.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 25.6M/248M [00:13<02:38, 1.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 25.8M/248M [00:13<02:43, 1.36MB/s]
https://pjreddie.com/media/files/yolov3.weights:  10%|█         | 26.0M/248M [00:13<02:35, 1.43MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 26.1M/248M [00:14<02:38, 1.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 26.3M/248M [00:14<02:29, 1.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 26.4M/248M [00:14<02:38, 1.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 26.6M/248M [00:14<02:35, 1.43MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 26.8M/248M [00:14<02:21, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 27.0M/248M [00:14<02:31, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 27.2M/248M [00:14<02:18, 1.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 27.4M/248M [00:14<02:23, 1.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 27.5M/248M [00:14<02:23, 1.53MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 27.7M/248M [00:15<02:16, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█         | 27.9M/248M [00:15<02:15, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█▏        | 28.0M/248M [00:15<02:24, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█▏        | 28.3M/248M [00:15<02:20, 1.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  11%|█▏        | 28.4M/248M [00:15<02:19, 1.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 28.6M/248M [00:15<02:10, 1.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 28.8M/248M [00:15<02:14, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 29.0M/248M [00:15<02:11, 1.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 29.2M/248M [00:16<02:14, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 29.4M/248M [00:16<02:02, 1.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 29.6M/248M [00:16<02:13, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 29.9M/248M [00:16<02:13, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 30.0M/248M [00:16<02:12, 1.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 30.2M/248M [00:16<02:14, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 30.4M/248M [00:16<02:07, 1.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 30.6M/248M [00:16<02:10, 1.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 30.8M/248M [00:16<02:08, 1.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:  12%|█▏        | 31.0M/248M [00:17<02:07, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 31.2M/248M [00:17<02:09, 1.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 31.4M/248M [00:17<02:04, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 31.6M/248M [00:17<02:07, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 31.8M/248M [00:17<02:04, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 32.0M/248M [00:17<02:00, 1.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 32.2M/248M [00:17<02:09, 1.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 32.4M/248M [00:17<01:58, 1.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 32.6M/248M [00:18<02:05, 1.72MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 32.8M/248M [00:18<02:09, 1.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 33.0M/248M [00:18<02:09, 1.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 33.2M/248M [00:18<02:04, 1.73MB/s]
https://pjreddie.com/media/files/yolov3.weights:  13%|█▎        | 33.4M/248M [00:18<02:09, 1.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▎        | 33.6M/248M [00:18<02:07, 1.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▎        | 33.8M/248M [00:18<02:03, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▎        | 34.0M/248M [00:18<02:09, 1.65MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 34.2M/248M [00:18<01:57, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 34.4M/248M [00:19<02:07, 1.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 34.6M/248M [00:19<02:04, 1.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 34.8M/248M [00:19<02:02, 1.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 35.0M/248M [00:19<02:02, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 35.2M/248M [00:19<01:58, 1.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 35.4M/248M [00:19<02:00, 1.77MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 35.6M/248M [00:19<01:57, 1.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:  14%|█▍        | 35.8M/248M [00:19<02:02, 1.73MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▍        | 36.0M/248M [00:19<01:54, 1.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▍        | 36.2M/248M [00:20<01:58, 1.78MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▍        | 36.4M/248M [00:20<02:11, 1.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▍        | 36.6M/248M [00:20<02:13, 1.58MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▍        | 36.8M/248M [00:20<02:01, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▍        | 37.0M/248M [00:20<02:02, 1.72MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▌        | 37.3M/248M [00:20<01:51, 1.90MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▌        | 37.5M/248M [00:20<01:54, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▌        | 37.7M/248M [00:20<01:44, 2.01MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▌        | 37.9M/248M [00:21<02:05, 1.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  15%|█▌        | 38.3M/248M [00:21<01:44, 2.01MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 38.5M/248M [00:21<01:49, 1.92MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 38.7M/248M [00:21<01:55, 1.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 38.9M/248M [00:21<01:58, 1.76MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 39.1M/248M [00:21<02:00, 1.73MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 39.3M/248M [00:21<02:27, 1.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 39.6M/248M [00:21<01:59, 1.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 39.8M/248M [00:22<02:09, 1.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 39.9M/248M [00:22<02:15, 1.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 40.1M/248M [00:22<02:16, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▌        | 40.3M/248M [00:22<02:20, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▋        | 40.4M/248M [00:22<02:21, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▋        | 40.6M/248M [00:22<02:21, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  16%|█▋        | 40.8M/248M [00:22<02:21, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 40.9M/248M [00:22<02:19, 1.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 41.1M/248M [00:23<02:20, 1.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 41.3M/248M [00:23<02:21, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 41.4M/248M [00:23<02:26, 1.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 41.5M/248M [00:23<02:27, 1.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 41.7M/248M [00:23<02:25, 1.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 41.9M/248M [00:23<02:16, 1.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 42.1M/248M [00:23<02:20, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 42.3M/248M [00:23<02:13, 1.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 42.4M/248M [00:23<02:22, 1.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 42.6M/248M [00:24<02:15, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 42.8M/248M [00:24<02:20, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 42.9M/248M [00:24<02:20, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 43.1M/248M [00:24<02:21, 1.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  17%|█▋        | 43.3M/248M [00:24<02:16, 1.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 43.4M/248M [00:24<02:19, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 43.6M/248M [00:24<02:16, 1.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 43.8M/248M [00:24<02:14, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 44.0M/248M [00:25<02:16, 1.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 44.2M/248M [00:25<02:06, 1.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 44.3M/248M [00:25<02:18, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 44.5M/248M [00:25<02:20, 1.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 44.7M/248M [00:25<02:05, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 44.9M/248M [00:25<02:14, 1.51MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 45.1M/248M [00:25<02:23, 1.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 45.3M/248M [00:25<02:14, 1.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 45.5M/248M [00:26<02:26, 1.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 45.6M/248M [00:26<02:29, 1.35MB/s]
https://pjreddie.com/media/files/yolov3.weights:  18%|█▊        | 45.8M/248M [00:26<02:27, 1.37MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▊        | 46.0M/248M [00:26<02:18, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▊        | 46.2M/248M [00:26<02:18, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▊        | 46.3M/248M [00:26<02:12, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▊        | 46.5M/248M [00:26<02:15, 1.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 46.7M/248M [00:26<02:14, 1.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 46.8M/248M [00:26<02:17, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 47.0M/248M [00:27<02:12, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 47.2M/248M [00:27<02:19, 1.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 47.4M/248M [00:27<02:13, 1.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 47.6M/248M [00:27<02:18, 1.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 47.8M/248M [00:27<02:13, 1.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 48.0M/248M [00:27<02:07, 1.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 48.1M/248M [00:27<02:14, 1.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  19%|█▉        | 48.3M/248M [00:27<02:03, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|█▉        | 48.5M/248M [00:28<02:11, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|█▉        | 48.7M/248M [00:28<02:01, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|█▉        | 48.9M/248M [00:28<02:04, 1.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|█▉        | 49.1M/248M [00:28<01:59, 1.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|█▉        | 49.3M/248M [00:28<01:56, 1.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|█▉        | 49.5M/248M [00:28<01:51, 1.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|██        | 49.7M/248M [00:28<01:52, 1.76MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|██        | 50.0M/248M [00:28<01:46, 1.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|██        | 50.2M/248M [00:28<01:47, 1.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|██        | 50.4M/248M [00:29<01:44, 1.90MB/s]
https://pjreddie.com/media/files/yolov3.weights:  20%|██        | 50.6M/248M [00:29<01:47, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 50.9M/248M [00:29<01:37, 2.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 51.1M/248M [00:29<01:39, 1.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 51.3M/248M [00:29<01:36, 2.04MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 51.6M/248M [00:29<01:46, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 51.9M/248M [00:29<01:34, 2.08MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 52.1M/248M [00:29<01:42, 1.92MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 52.3M/248M [00:30<01:37, 2.01MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██        | 52.6M/248M [00:30<01:30, 2.15MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██▏       | 52.9M/248M [00:30<01:29, 2.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  21%|██▏       | 53.2M/248M [00:30<01:24, 2.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 53.5M/248M [00:30<01:21, 2.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 53.8M/248M [00:30<01:18, 2.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 54.1M/248M [00:30<01:14, 2.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 54.4M/248M [00:30<01:12, 2.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 54.7M/248M [00:30<01:12, 2.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 55.1M/248M [00:31<01:08, 2.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  22%|██▏       | 55.4M/248M [00:31<01:08, 2.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  23%|██▎       | 55.9M/248M [00:31<01:04, 2.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  23%|██▎       | 56.2M/248M [00:31<01:01, 3.13MB/s]
https://pjreddie.com/media/files/yolov3.weights:  23%|██▎       | 56.6M/248M [00:31<01:00, 3.15MB/s]
https://pjreddie.com/media/files/yolov3.weights:  23%|██▎       | 57.1M/248M [00:31<00:54, 3.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  23%|██▎       | 57.4M/248M [00:31<00:59, 3.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  23%|██▎       | 58.0M/248M [00:31<00:55, 3.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  24%|██▎       | 58.6M/248M [00:32<00:51, 3.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  24%|██▍       | 59.0M/248M [00:32<00:49, 3.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:  24%|██▍       | 59.6M/248M [00:32<00:48, 3.91MB/s]
https://pjreddie.com/media/files/yolov3.weights:  24%|██▍       | 60.0M/248M [00:32<00:47, 3.99MB/s]
https://pjreddie.com/media/files/yolov3.weights:  24%|██▍       | 60.5M/248M [00:32<00:43, 4.33MB/s]
https://pjreddie.com/media/files/yolov3.weights:  25%|██▍       | 60.9M/248M [00:32<00:43, 4.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  25%|██▍       | 61.4M/248M [00:32<00:41, 4.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  25%|██▍       | 62.0M/248M [00:32<00:40, 4.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  25%|██▌       | 62.5M/248M [00:32<00:39, 4.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  25%|██▌       | 62.9M/248M [00:33<00:39, 4.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  26%|██▌       | 63.6M/248M [00:33<00:35, 5.13MB/s]
https://pjreddie.com/media/files/yolov3.weights:  26%|██▌       | 64.1M/248M [00:33<00:35, 5.16MB/s]
https://pjreddie.com/media/files/yolov3.weights:  26%|██▌       | 64.7M/248M [00:33<00:35, 5.13MB/s]
https://pjreddie.com/media/files/yolov3.weights:  26%|██▋       | 65.4M/248M [00:33<00:32, 5.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  27%|██▋       | 65.9M/248M [00:33<00:32, 5.53MB/s]
https://pjreddie.com/media/files/yolov3.weights:  27%|██▋       | 66.5M/248M [00:33<00:33, 5.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  27%|██▋       | 67.1M/248M [00:33<00:38, 4.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:  27%|██▋       | 68.1M/248M [00:33<00:32, 5.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  28%|██▊       | 68.8M/248M [00:34<00:33, 5.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  28%|██▊       | 69.4M/248M [00:34<00:32, 5.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  28%|██▊       | 70.0M/248M [00:34<00:37, 4.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:  28%|██▊       | 70.6M/248M [00:34<00:35, 5.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  29%|██▊       | 71.2M/248M [00:34<00:36, 4.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  29%|██▉       | 71.7M/248M [00:34<00:39, 4.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  29%|██▉       | 72.3M/248M [00:34<00:35, 4.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:  29%|██▉       | 72.8M/248M [00:34<00:38, 4.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  30%|██▉       | 73.3M/248M [00:35<00:46, 3.78MB/s]
https://pjreddie.com/media/files/yolov3.weights:  30%|██▉       | 73.7M/248M [00:35<00:45, 3.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  30%|██▉       | 74.1M/248M [00:35<00:49, 3.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  30%|███       | 74.6M/248M [00:35<00:45, 3.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  30%|███       | 75.0M/248M [00:35<00:46, 3.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:  30%|███       | 75.4M/248M [00:35<00:48, 3.55MB/s]
https://pjreddie.com/media/files/yolov3.weights:  31%|███       | 75.9M/248M [00:35<00:45, 3.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:  31%|███       | 76.3M/248M [00:35<00:46, 3.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  31%|███       | 76.7M/248M [00:36<00:56, 3.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  31%|███       | 77.3M/248M [00:36<00:45, 3.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  31%|███▏      | 77.7M/248M [00:36<00:49, 3.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  31%|███▏      | 78.1M/248M [00:36<00:53, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 78.4M/248M [00:36<00:53, 3.16MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 78.8M/248M [00:36<00:54, 3.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 79.1M/248M [00:36<00:55, 3.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 79.4M/248M [00:37<00:57, 2.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 79.8M/248M [00:37<00:54, 3.10MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 80.1M/248M [00:37<00:55, 3.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  32%|███▏      | 80.6M/248M [00:37<00:51, 3.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 80.9M/248M [00:37<00:52, 3.21MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 81.2M/248M [00:37<00:51, 3.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 81.6M/248M [00:37<00:51, 3.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 81.9M/248M [00:37<00:51, 3.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 82.3M/248M [00:37<00:50, 3.29MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 82.7M/248M [00:38<00:48, 3.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  33%|███▎      | 83.0M/248M [00:38<00:52, 3.15MB/s]
https://pjreddie.com/media/files/yolov3.weights:  34%|███▎      | 83.4M/248M [00:38<00:49, 3.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  34%|███▍      | 83.8M/248M [00:38<00:49, 3.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  34%|███▍      | 84.2M/248M [00:38<00:46, 3.51MB/s]
https://pjreddie.com/media/files/yolov3.weights:  34%|███▍      | 84.6M/248M [00:38<00:50, 3.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  34%|███▍      | 85.0M/248M [00:38<00:47, 3.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  34%|███▍      | 85.4M/248M [00:38<00:49, 3.30MB/s]
https://pjreddie.com/media/files/yolov3.weights:  35%|███▍      | 85.8M/248M [00:38<00:47, 3.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  35%|███▍      | 86.1M/248M [00:39<00:47, 3.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  35%|███▍      | 86.6M/248M [00:39<00:44, 3.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  35%|███▌      | 86.9M/248M [00:39<00:46, 3.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  35%|███▌      | 87.3M/248M [00:39<00:45, 3.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  35%|███▌      | 87.7M/248M [00:39<00:46, 3.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▌      | 88.1M/248M [00:39<00:46, 3.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▌      | 88.5M/248M [00:39<00:46, 3.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▌      | 88.9M/248M [00:39<00:46, 3.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▌      | 89.3M/248M [00:39<00:46, 3.43MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▌      | 89.6M/248M [00:40<00:45, 3.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▋      | 90.0M/248M [00:40<00:45, 3.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  36%|███▋      | 90.3M/248M [00:40<00:45, 3.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 90.7M/248M [00:40<00:49, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 91.1M/248M [00:40<00:47, 3.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 91.4M/248M [00:40<00:49, 3.14MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 91.8M/248M [00:40<00:48, 3.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 92.1M/248M [00:40<00:50, 3.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 92.4M/248M [00:40<00:50, 3.06MB/s]
https://pjreddie.com/media/files/yolov3.weights:  37%|███▋      | 92.7M/248M [00:41<00:50, 3.10MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 93.1M/248M [00:41<00:49, 3.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 93.4M/248M [00:41<00:48, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 93.7M/248M [00:41<00:47, 3.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 94.1M/248M [00:41<00:48, 3.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 94.4M/248M [00:41<00:49, 3.10MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 94.8M/248M [00:41<00:47, 3.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  38%|███▊      | 95.2M/248M [00:41<00:47, 3.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▊      | 95.5M/248M [00:41<00:48, 3.13MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▊      | 95.9M/248M [00:42<00:47, 3.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▉      | 96.3M/248M [00:42<00:46, 3.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▉      | 96.6M/248M [00:42<00:47, 3.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▉      | 96.9M/248M [00:42<00:47, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▉      | 97.3M/248M [00:42<00:46, 3.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  39%|███▉      | 97.7M/248M [00:42<00:47, 3.20MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|███▉      | 98.0M/248M [00:42<00:48, 3.12MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|███▉      | 98.4M/248M [00:42<00:46, 3.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|███▉      | 98.7M/248M [00:42<00:44, 3.36MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|███▉      | 99.1M/248M [00:43<00:45, 3.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|████      | 99.5M/248M [00:43<00:43, 3.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|████      | 99.9M/248M [00:43<00:41, 3.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  40%|████      | 100M/248M [00:43<00:43, 3.41MB/s] 
https://pjreddie.com/media/files/yolov3.weights:  41%|████      | 101M/248M [00:43<00:42, 3.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  41%|████      | 101M/248M [00:43<00:44, 3.33MB/s]
https://pjreddie.com/media/files/yolov3.weights:  41%|████      | 101M/248M [00:43<00:42, 3.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  41%|████      | 102M/248M [00:43<00:42, 3.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  41%|████      | 102M/248M [00:43<00:41, 3.51MB/s]
https://pjreddie.com/media/files/yolov3.weights:  41%|████▏     | 103M/248M [00:44<00:40, 3.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  42%|████▏     | 103M/248M [00:44<00:42, 3.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  42%|████▏     | 103M/248M [00:44<00:42, 3.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  42%|████▏     | 104M/248M [00:44<00:40, 3.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  42%|████▏     | 104M/248M [00:44<00:41, 3.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  42%|████▏     | 105M/248M [00:44<00:43, 3.33MB/s]
https://pjreddie.com/media/files/yolov3.weights:  42%|████▏     | 105M/248M [00:44<00:40, 3.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  43%|████▎     | 105M/248M [00:44<00:38, 3.71MB/s]
https://pjreddie.com/media/files/yolov3.weights:  43%|████▎     | 106M/248M [00:44<00:38, 3.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:  43%|████▎     | 106M/248M [00:45<00:39, 3.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  43%|████▎     | 107M/248M [00:45<00:35, 4.00MB/s]
https://pjreddie.com/media/files/yolov3.weights:  43%|████▎     | 107M/248M [00:45<00:36, 3.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:  43%|████▎     | 108M/248M [00:45<00:35, 3.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  44%|████▎     | 108M/248M [00:45<00:31, 4.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  44%|████▍     | 109M/248M [00:45<00:32, 4.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  44%|████▍     | 109M/248M [00:45<00:31, 4.43MB/s]
https://pjreddie.com/media/files/yolov3.weights:  44%|████▍     | 110M/248M [00:45<00:30, 4.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  44%|████▍     | 110M/248M [00:45<00:33, 4.12MB/s]
https://pjreddie.com/media/files/yolov3.weights:  45%|████▍     | 110M/248M [00:46<00:33, 4.16MB/s]
https://pjreddie.com/media/files/yolov3.weights:  45%|████▍     | 111M/248M [00:46<00:29, 4.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  45%|████▍     | 111M/248M [00:46<00:30, 4.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  45%|████▌     | 112M/248M [00:46<00:29, 4.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  45%|████▌     | 113M/248M [00:46<00:29, 4.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  46%|████▌     | 113M/248M [00:46<00:29, 4.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  46%|████▌     | 114M/248M [00:46<00:28, 4.78MB/s]
https://pjreddie.com/media/files/yolov3.weights:  46%|████▌     | 114M/248M [00:46<00:28, 4.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  46%|████▋     | 115M/248M [00:46<00:29, 4.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  47%|████▋     | 115M/248M [00:47<00:30, 4.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  47%|████▋     | 116M/248M [00:47<00:28, 4.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  47%|████▋     | 117M/248M [00:47<00:31, 4.15MB/s]
https://pjreddie.com/media/files/yolov3.weights:  47%|████▋     | 117M/248M [00:47<00:31, 4.14MB/s]
https://pjreddie.com/media/files/yolov3.weights:  47%|████▋     | 117M/248M [00:47<00:32, 4.07MB/s]
https://pjreddie.com/media/files/yolov3.weights:  48%|████▊     | 118M/248M [00:47<00:30, 4.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  48%|████▊     | 118M/248M [00:47<00:31, 4.10MB/s]
https://pjreddie.com/media/files/yolov3.weights:  48%|████▊     | 119M/248M [00:47<00:30, 4.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  48%|████▊     | 119M/248M [00:48<00:30, 4.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  48%|████▊     | 120M/248M [00:48<00:30, 4.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  48%|████▊     | 120M/248M [00:48<00:30, 4.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  49%|████▊     | 121M/248M [00:48<00:29, 4.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  49%|████▉     | 121M/248M [00:48<00:29, 4.30MB/s]
https://pjreddie.com/media/files/yolov3.weights:  49%|████▉     | 122M/248M [00:48<00:27, 4.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  49%|████▉     | 122M/248M [00:48<00:27, 4.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  49%|████▉     | 123M/248M [00:48<00:28, 4.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  50%|████▉     | 123M/248M [00:48<00:26, 4.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  50%|████▉     | 124M/248M [00:48<00:26, 4.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:  50%|█████     | 124M/248M [00:49<00:28, 4.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  50%|█████     | 125M/248M [00:49<00:26, 4.58MB/s]
https://pjreddie.com/media/files/yolov3.weights:  51%|█████     | 125M/248M [00:49<00:25, 4.72MB/s]
https://pjreddie.com/media/files/yolov3.weights:  51%|█████     | 126M/248M [00:49<00:25, 4.72MB/s]
https://pjreddie.com/media/files/yolov3.weights:  51%|█████     | 126M/248M [00:49<00:24, 5.00MB/s]
https://pjreddie.com/media/files/yolov3.weights:  51%|█████     | 127M/248M [00:49<00:24, 4.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  51%|█████▏    | 127M/248M [00:49<00:24, 4.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  52%|█████▏    | 128M/248M [00:49<00:23, 5.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  52%|█████▏    | 129M/248M [00:49<00:24, 4.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  52%|█████▏    | 129M/248M [00:50<00:22, 5.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  52%|█████▏    | 130M/248M [00:50<00:28, 4.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  52%|█████▏    | 130M/248M [00:50<00:33, 3.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  53%|█████▎    | 131M/248M [00:50<00:27, 4.21MB/s]
https://pjreddie.com/media/files/yolov3.weights:  53%|█████▎    | 131M/248M [00:50<00:29, 3.95MB/s]
https://pjreddie.com/media/files/yolov3.weights:  53%|█████▎    | 132M/248M [00:50<00:30, 3.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:  53%|█████▎    | 132M/248M [00:50<00:30, 3.74MB/s]
https://pjreddie.com/media/files/yolov3.weights:  53%|█████▎    | 133M/248M [00:51<00:31, 3.72MB/s]
https://pjreddie.com/media/files/yolov3.weights:  54%|█████▎    | 133M/248M [00:51<00:30, 3.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:  54%|█████▍    | 133M/248M [00:51<00:31, 3.67MB/s]
https://pjreddie.com/media/files/yolov3.weights:  54%|█████▍    | 134M/248M [00:51<00:31, 3.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  54%|█████▍    | 134M/248M [00:51<00:28, 3.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  54%|█████▍    | 135M/248M [00:51<00:31, 3.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  54%|█████▍    | 135M/248M [00:51<00:31, 3.55MB/s]
https://pjreddie.com/media/files/yolov3.weights:  55%|█████▍    | 135M/248M [00:51<00:30, 3.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  55%|█████▍    | 136M/248M [00:51<00:30, 3.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  55%|█████▍    | 136M/248M [00:52<00:30, 3.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:  55%|█████▌    | 137M/248M [00:52<00:29, 3.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:  55%|█████▌    | 137M/248M [00:52<00:28, 3.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:  55%|█████▌    | 137M/248M [00:52<00:28, 3.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:  56%|█████▌    | 138M/248M [00:52<00:28, 3.92MB/s]
https://pjreddie.com/media/files/yolov3.weights:  56%|█████▌    | 138M/248M [00:52<00:28, 3.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  56%|█████▌    | 139M/248M [00:52<00:28, 3.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:  56%|█████▌    | 139M/248M [00:52<00:28, 3.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  56%|█████▌    | 139M/248M [00:52<00:28, 3.78MB/s]
https://pjreddie.com/media/files/yolov3.weights:  56%|█████▋    | 140M/248M [00:52<00:27, 3.90MB/s]
https://pjreddie.com/media/files/yolov3.weights:  57%|█████▋    | 140M/248M [00:53<00:28, 3.77MB/s]
https://pjreddie.com/media/files/yolov3.weights:  57%|█████▋    | 141M/248M [00:53<00:27, 3.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  57%|█████▋    | 141M/248M [00:53<00:26, 3.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  57%|█████▋    | 142M/248M [00:53<00:27, 3.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:  57%|█████▋    | 142M/248M [00:53<00:27, 3.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  57%|█████▋    | 142M/248M [00:53<00:28, 3.69MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 143M/248M [00:53<00:30, 3.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 143M/248M [00:53<00:31, 3.33MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 143M/248M [00:54<00:33, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 144M/248M [00:54<00:32, 3.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 144M/248M [00:54<00:34, 3.02MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 144M/248M [00:54<00:34, 3.02MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 145M/248M [00:54<00:38, 2.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  58%|█████▊    | 145M/248M [00:54<00:37, 2.77MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▊    | 145M/248M [00:54<00:49, 2.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▊    | 146M/248M [00:54<00:42, 2.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 146M/248M [00:55<00:45, 2.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 146M/248M [00:55<00:50, 2.00MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 146M/248M [00:55<00:54, 1.86MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 147M/248M [00:55<00:53, 1.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 147M/248M [00:55<00:53, 1.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 147M/248M [00:55<00:57, 1.76MB/s]
https://pjreddie.com/media/files/yolov3.weights:  59%|█████▉    | 147M/248M [00:55<00:55, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|█████▉    | 148M/248M [00:56<00:56, 1.78MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|█████▉    | 148M/248M [00:56<00:53, 1.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|█████▉    | 148M/248M [00:56<00:57, 1.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|█████▉    | 148M/248M [00:56<00:52, 1.91MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|█████▉    | 148M/248M [00:56<00:54, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|█████▉    | 149M/248M [00:56<00:53, 1.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 149M/248M [00:56<00:51, 1.91MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 149M/248M [00:56<00:52, 1.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 149M/248M [00:56<00:54, 1.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 149M/248M [00:57<00:56, 1.73MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 150M/248M [00:57<01:01, 1.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 150M/248M [00:57<01:01, 1.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  60%|██████    | 150M/248M [00:57<01:05, 1.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 150M/248M [00:57<01:02, 1.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 150M/248M [00:57<01:04, 1.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 151M/248M [00:57<01:01, 1.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 151M/248M [00:57<01:00, 1.62MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 151M/248M [00:57<00:58, 1.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 151M/248M [00:58<00:59, 1.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 151M/248M [00:58<00:59, 1.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 151M/248M [00:58<01:00, 1.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 152M/248M [00:58<01:23, 1.15MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████    | 152M/248M [00:58<01:09, 1.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████▏   | 152M/248M [00:58<01:12, 1.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████▏   | 152M/248M [00:58<01:14, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████▏   | 152M/248M [00:59<01:14, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  61%|██████▏   | 152M/248M [00:59<01:17, 1.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:14, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:14, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:20, 1.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:18, 1.21MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:17, 1.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:18, 1.20MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 153M/248M [00:59<01:16, 1.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:17, 1.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:13, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:14, 1.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:14, 1.26MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:16, 1.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:16, 1.23MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 154M/248M [01:00<01:14, 1.26MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 155M/248M [01:00<01:13, 1.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 155M/248M [01:00<01:14, 1.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 155M/248M [01:01<01:10, 1.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  62%|██████▏   | 155M/248M [01:01<01:10, 1.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 155M/248M [01:01<01:10, 1.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 155M/248M [01:01<01:10, 1.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 155M/248M [01:01<01:13, 1.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:01<01:14, 1.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:01<01:14, 1.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:01<01:12, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:02<01:16, 1.21MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:02<01:13, 1.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:02<01:10, 1.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 156M/248M [01:02<01:13, 1.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:02<01:12, 1.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:02<01:11, 1.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:02<01:11, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:02<01:10, 1.28MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:02<01:08, 1.33MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:03<01:09, 1.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  63%|██████▎   | 157M/248M [01:03<01:09, 1.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▎   | 158M/248M [01:03<01:05, 1.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▎   | 158M/248M [01:03<01:06, 1.36MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▎   | 158M/248M [01:03<01:08, 1.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▎   | 158M/248M [01:03<01:09, 1.30MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 158M/248M [01:03<01:06, 1.34MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 158M/248M [01:03<01:04, 1.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:03<01:06, 1.34MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:04<01:05, 1.37MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:04<01:02, 1.44MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:04<01:09, 1.29MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:04<01:06, 1.33MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:04<01:00, 1.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 159M/248M [01:04<01:04, 1.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 160M/248M [01:04<01:02, 1.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  64%|██████▍   | 160M/248M [01:04<00:59, 1.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▍   | 160M/248M [01:04<01:00, 1.46MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▍   | 160M/248M [01:05<00:55, 1.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▍   | 160M/248M [01:05<01:04, 1.35MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▍   | 161M/248M [01:05<00:59, 1.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▍   | 161M/248M [01:05<00:57, 1.53MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▍   | 161M/248M [01:05<00:50, 1.70MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▌   | 161M/248M [01:05<00:53, 1.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▌   | 162M/248M [01:05<00:52, 1.65MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▌   | 162M/248M [01:06<00:48, 1.77MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▌   | 162M/248M [01:06<00:48, 1.78MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▌   | 162M/248M [01:06<00:45, 1.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:  65%|██████▌   | 162M/248M [01:06<00:45, 1.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 163M/248M [01:06<00:45, 1.86MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 163M/248M [01:06<00:44, 1.91MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 163M/248M [01:06<00:41, 2.07MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 163M/248M [01:06<00:40, 2.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 164M/248M [01:06<00:40, 2.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 164M/248M [01:07<00:35, 2.37MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▌   | 164M/248M [01:07<00:36, 2.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▋   | 164M/248M [01:07<00:34, 2.40MB/s]
https://pjreddie.com/media/files/yolov3.weights:  66%|██████▋   | 165M/248M [01:07<00:33, 2.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 165M/248M [01:07<00:34, 2.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 165M/248M [01:07<00:31, 2.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 166M/248M [01:07<00:31, 2.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 166M/248M [01:07<00:31, 2.63MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 166M/248M [01:07<00:28, 2.91MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 166M/248M [01:07<00:29, 2.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 167M/248M [01:08<00:27, 2.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  67%|██████▋   | 167M/248M [01:08<00:28, 2.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  68%|██████▊   | 168M/248M [01:08<00:26, 3.05MB/s]
https://pjreddie.com/media/files/yolov3.weights:  68%|██████▊   | 168M/248M [01:08<00:25, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  68%|██████▊   | 168M/248M [01:08<00:24, 3.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  68%|██████▊   | 169M/248M [01:08<00:24, 3.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  68%|██████▊   | 169M/248M [01:08<00:23, 3.31MB/s]
https://pjreddie.com/media/files/yolov3.weights:  68%|██████▊   | 170M/248M [01:08<00:21, 3.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  69%|██████▊   | 170M/248M [01:08<00:20, 3.76MB/s]
https://pjreddie.com/media/files/yolov3.weights:  69%|██████▉   | 171M/248M [01:09<00:18, 4.10MB/s]
https://pjreddie.com/media/files/yolov3.weights:  69%|██████▉   | 171M/248M [01:09<00:18, 4.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  69%|██████▉   | 172M/248M [01:09<00:16, 4.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  69%|██████▉   | 172M/248M [01:09<00:16, 4.48MB/s]
https://pjreddie.com/media/files/yolov3.weights:  70%|██████▉   | 172M/248M [01:09<00:16, 4.50MB/s]
https://pjreddie.com/media/files/yolov3.weights:  70%|██████▉   | 173M/248M [01:09<00:15, 4.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:  70%|██████▉   | 174M/248M [01:09<00:16, 4.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  70%|███████   | 174M/248M [01:09<00:14, 5.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  70%|███████   | 175M/248M [01:09<00:14, 4.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:  71%|███████   | 175M/248M [01:10<00:14, 4.92MB/s]
https://pjreddie.com/media/files/yolov3.weights:  71%|███████   | 176M/248M [01:10<00:13, 5.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  71%|███████   | 176M/248M [01:10<00:13, 5.26MB/s]
https://pjreddie.com/media/files/yolov3.weights:  71%|███████▏  | 177M/248M [01:10<00:13, 5.30MB/s]
https://pjreddie.com/media/files/yolov3.weights:  72%|███████▏  | 178M/248M [01:10<00:12, 5.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  72%|███████▏  | 179M/248M [01:10<00:11, 6.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  72%|███████▏  | 179M/248M [01:10<00:11, 6.21MB/s]
https://pjreddie.com/media/files/yolov3.weights:  73%|███████▎  | 180M/248M [01:10<00:10, 6.26MB/s]
https://pjreddie.com/media/files/yolov3.weights:  73%|███████▎  | 181M/248M [01:10<00:10, 6.27MB/s]
https://pjreddie.com/media/files/yolov3.weights:  73%|███████▎  | 181M/248M [01:11<00:09, 6.92MB/s]
https://pjreddie.com/media/files/yolov3.weights:  73%|███████▎  | 182M/248M [01:11<00:09, 6.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:  74%|███████▎  | 183M/248M [01:11<00:09, 6.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:  74%|███████▍  | 184M/248M [01:11<00:09, 6.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  74%|███████▍  | 184M/248M [01:11<00:11, 5.59MB/s]
https://pjreddie.com/media/files/yolov3.weights:  75%|███████▍  | 185M/248M [01:11<00:08, 7.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  75%|███████▌  | 186M/248M [01:11<00:10, 6.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  75%|███████▌  | 187M/248M [01:11<00:10, 6.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  76%|███████▌  | 187M/248M [01:12<00:10, 5.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  76%|███████▌  | 188M/248M [01:12<00:10, 5.93MB/s]
https://pjreddie.com/media/files/yolov3.weights:  76%|███████▌  | 189M/248M [01:12<00:10, 5.53MB/s]
https://pjreddie.com/media/files/yolov3.weights:  76%|███████▋  | 189M/248M [01:12<00:10, 5.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  77%|███████▋  | 190M/248M [01:12<00:10, 5.79MB/s]
https://pjreddie.com/media/files/yolov3.weights:  77%|███████▋  | 191M/248M [01:12<00:09, 5.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  77%|███████▋  | 191M/248M [01:12<00:09, 6.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  77%|███████▋  | 192M/248M [01:12<00:09, 5.85MB/s]
https://pjreddie.com/media/files/yolov3.weights:  78%|███████▊  | 193M/248M [01:12<00:09, 6.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  78%|███████▊  | 193M/248M [01:12<00:08, 6.36MB/s]
https://pjreddie.com/media/files/yolov3.weights:  78%|███████▊  | 194M/248M [01:13<00:08, 6.20MB/s]
https://pjreddie.com/media/files/yolov3.weights:  78%|███████▊  | 195M/248M [01:13<00:08, 6.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  79%|███████▊  | 195M/248M [01:13<00:08, 5.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:  79%|███████▉  | 196M/248M [01:13<00:08, 5.99MB/s]
https://pjreddie.com/media/files/yolov3.weights:  79%|███████▉  | 197M/248M [01:13<00:08, 6.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  80%|███████▉  | 197M/248M [01:13<00:08, 6.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  80%|███████▉  | 198M/248M [01:13<00:08, 5.83MB/s]
https://pjreddie.com/media/files/yolov3.weights:  80%|████████  | 198M/248M [01:13<00:08, 5.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:  80%|████████  | 199M/248M [01:13<00:08, 5.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  81%|████████  | 200M/248M [01:14<00:07, 6.04MB/s]
https://pjreddie.com/media/files/yolov3.weights:  81%|████████  | 201M/248M [01:14<00:07, 6.08MB/s]
https://pjreddie.com/media/files/yolov3.weights:  81%|████████  | 201M/248M [01:14<00:07, 6.30MB/s]
https://pjreddie.com/media/files/yolov3.weights:  81%|████████▏ | 202M/248M [01:14<00:07, 6.56MB/s]
https://pjreddie.com/media/files/yolov3.weights:  82%|████████▏ | 203M/248M [01:14<00:06, 6.54MB/s]
https://pjreddie.com/media/files/yolov3.weights:  82%|████████▏ | 203M/248M [01:14<00:06, 6.43MB/s]
https://pjreddie.com/media/files/yolov3.weights:  82%|████████▏ | 204M/248M [01:14<00:06, 6.75MB/s]
https://pjreddie.com/media/files/yolov3.weights:  83%|████████▎ | 205M/248M [01:14<00:06, 6.76MB/s]
https://pjreddie.com/media/files/yolov3.weights:  83%|████████▎ | 205M/248M [01:14<00:06, 6.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  83%|████████▎ | 206M/248M [01:15<00:06, 6.47MB/s]
https://pjreddie.com/media/files/yolov3.weights:  83%|████████▎ | 207M/248M [01:15<00:06, 6.60MB/s]
https://pjreddie.com/media/files/yolov3.weights:  84%|████████▎ | 208M/248M [01:15<00:06, 6.73MB/s]
https://pjreddie.com/media/files/yolov3.weights:  84%|████████▍ | 208M/248M [01:15<00:06, 6.34MB/s]
https://pjreddie.com/media/files/yolov3.weights:  84%|████████▍ | 209M/248M [01:15<00:06, 6.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  85%|████████▍ | 210M/248M [01:15<00:06, 5.81MB/s]
https://pjreddie.com/media/files/yolov3.weights:  85%|████████▍ | 210M/248M [01:15<00:05, 6.41MB/s]
https://pjreddie.com/media/files/yolov3.weights:  85%|████████▌ | 211M/248M [01:15<00:06, 5.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  85%|████████▌ | 212M/248M [01:15<00:06, 5.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  86%|████████▌ | 212M/248M [01:16<00:06, 5.26MB/s]
https://pjreddie.com/media/files/yolov3.weights:  86%|████████▌ | 213M/248M [01:16<00:06, 5.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  86%|████████▌ | 213M/248M [01:16<00:06, 5.25MB/s]
https://pjreddie.com/media/files/yolov3.weights:  86%|████████▋ | 214M/248M [01:16<00:06, 5.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  87%|████████▋ | 215M/248M [01:16<00:06, 5.49MB/s]
https://pjreddie.com/media/files/yolov3.weights:  87%|████████▋ | 215M/248M [01:16<00:06, 5.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  87%|████████▋ | 216M/248M [01:16<00:05, 5.45MB/s]
https://pjreddie.com/media/files/yolov3.weights:  87%|████████▋ | 216M/248M [01:16<00:05, 5.80MB/s]
https://pjreddie.com/media/files/yolov3.weights:  88%|████████▊ | 217M/248M [01:16<00:05, 6.09MB/s]
https://pjreddie.com/media/files/yolov3.weights:  88%|████████▊ | 218M/248M [01:17<00:04, 6.12MB/s]
https://pjreddie.com/media/files/yolov3.weights:  88%|████████▊ | 218M/248M [01:17<00:05, 4.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  88%|████████▊ | 219M/248M [01:17<00:04, 5.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  89%|████████▊ | 220M/248M [01:17<00:04, 5.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  89%|████████▉ | 221M/248M [01:17<00:05, 5.03MB/s]
https://pjreddie.com/media/files/yolov3.weights:  89%|████████▉ | 221M/248M [01:17<00:05, 5.04MB/s]
https://pjreddie.com/media/files/yolov3.weights:  89%|████████▉ | 222M/248M [01:17<00:05, 4.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  90%|████████▉ | 222M/248M [01:17<00:05, 4.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  90%|████████▉ | 223M/248M [01:18<00:05, 4.87MB/s]
https://pjreddie.com/media/files/yolov3.weights:  90%|█████████ | 223M/248M [01:18<00:05, 4.92MB/s]
https://pjreddie.com/media/files/yolov3.weights:  90%|█████████ | 224M/248M [01:18<00:05, 4.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  90%|█████████ | 224M/248M [01:18<00:05, 4.68MB/s]
https://pjreddie.com/media/files/yolov3.weights:  91%|█████████ | 225M/248M [01:18<00:05, 4.61MB/s]
https://pjreddie.com/media/files/yolov3.weights:  91%|█████████ | 225M/248M [01:18<00:04, 4.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  91%|█████████ | 226M/248M [01:18<00:04, 4.66MB/s]
https://pjreddie.com/media/files/yolov3.weights:  91%|█████████▏| 226M/248M [01:18<00:04, 5.06MB/s]
https://pjreddie.com/media/files/yolov3.weights:  91%|█████████▏| 227M/248M [01:18<00:04, 4.64MB/s]
https://pjreddie.com/media/files/yolov3.weights:  92%|█████████▏| 227M/248M [01:19<00:04, 4.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:  92%|█████████▏| 228M/248M [01:19<00:04, 4.39MB/s]
https://pjreddie.com/media/files/yolov3.weights:  92%|█████████▏| 229M/248M [01:19<00:04, 4.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  92%|█████████▏| 229M/248M [01:19<00:04, 4.37MB/s]
https://pjreddie.com/media/files/yolov3.weights:  93%|█████████▎| 230M/248M [01:19<00:04, 4.30MB/s]
https://pjreddie.com/media/files/yolov3.weights:  93%|█████████▎| 230M/248M [01:19<00:04, 4.24MB/s]
https://pjreddie.com/media/files/yolov3.weights:  93%|█████████▎| 230M/248M [01:19<00:04, 3.84MB/s]
https://pjreddie.com/media/files/yolov3.weights:  93%|█████████▎| 231M/248M [01:19<00:04, 3.95MB/s]
https://pjreddie.com/media/files/yolov3.weights:  93%|█████████▎| 231M/248M [01:20<00:04, 3.99MB/s]
https://pjreddie.com/media/files/yolov3.weights:  93%|█████████▎| 232M/248M [01:20<00:05, 2.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  94%|█████████▎| 232M/248M [01:20<00:04, 3.34MB/s]
https://pjreddie.com/media/files/yolov3.weights:  94%|█████████▍| 233M/248M [01:20<00:04, 3.18MB/s]
https://pjreddie.com/media/files/yolov3.weights:  94%|█████████▍| 233M/248M [01:20<00:04, 3.32MB/s]
https://pjreddie.com/media/files/yolov3.weights:  94%|█████████▍| 233M/248M [01:20<00:04, 3.00MB/s]
https://pjreddie.com/media/files/yolov3.weights:  94%|█████████▍| 234M/248M [01:20<00:04, 3.02MB/s]
https://pjreddie.com/media/files/yolov3.weights:  94%|█████████▍| 234M/248M [01:21<00:04, 3.05MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▍| 234M/248M [01:21<00:04, 3.07MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▍| 235M/248M [01:21<00:04, 2.91MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▍| 235M/248M [01:21<00:04, 2.99MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▍| 236M/248M [01:21<00:04, 2.98MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▌| 236M/248M [01:21<00:04, 2.95MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▌| 236M/248M [01:21<00:04, 2.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▌| 236M/248M [01:21<00:04, 2.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:  95%|█████████▌| 237M/248M [01:21<00:03, 2.89MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▌| 237M/248M [01:22<00:03, 3.04MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▌| 237M/248M [01:22<00:03, 2.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▌| 238M/248M [01:22<00:03, 2.98MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▌| 238M/248M [01:22<00:03, 2.82MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▌| 238M/248M [01:22<00:03, 2.86MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▋| 239M/248M [01:22<00:03, 2.88MB/s]
https://pjreddie.com/media/files/yolov3.weights:  96%|█████████▋| 239M/248M [01:22<00:02, 3.06MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 239M/248M [01:22<00:02, 2.97MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 240M/248M [01:22<00:02, 2.94MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 240M/248M [01:23<00:02, 3.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 241M/248M [01:23<00:02, 3.17MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 241M/248M [01:23<00:02, 3.38MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 241M/248M [01:23<00:02, 3.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  97%|█████████▋| 242M/248M [01:23<00:02, 3.07MB/s]
https://pjreddie.com/media/files/yolov3.weights:  98%|█████████▊| 242M/248M [01:23<00:01, 3.37MB/s]
https://pjreddie.com/media/files/yolov3.weights:  98%|█████████▊| 242M/248M [01:23<00:01, 3.11MB/s]
https://pjreddie.com/media/files/yolov3.weights:  98%|█████████▊| 243M/248M [01:23<00:01, 3.34MB/s]
https://pjreddie.com/media/files/yolov3.weights:  98%|█████████▊| 243M/248M [01:23<00:01, 3.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  98%|█████████▊| 243M/248M [01:24<00:01, 3.26MB/s]
https://pjreddie.com/media/files/yolov3.weights:  98%|█████████▊| 244M/248M [01:24<00:01, 3.19MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▊| 244M/248M [01:24<00:01, 3.42MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▊| 245M/248M [01:24<00:01, 2.90MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▉| 245M/248M [01:24<00:00, 3.22MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▉| 245M/248M [01:24<00:00, 2.96MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▉| 246M/248M [01:24<00:00, 2.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▉| 246M/248M [01:25<00:00, 2.57MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▉| 246M/248M [01:25<00:00, 2.52MB/s]
https://pjreddie.com/media/files/yolov3.weights:  99%|█████████▉| 247M/248M [01:25<00:00, 2.62MB/s]
https://pjreddie.com/media/files/yolov3.weights: 100%|█████████▉| 247M/248M [01:25<00:00, 2.46MB/s]
https://pjreddie.com/media/files/yolov3.weights: 100%|█████████▉| 247M/248M [01:25<00:00, 2.55MB/s]
https://pjreddie.com/media/files/yolov3.weights: 100%|█████████▉| 248M/248M [01:25<00:00, 2.66MB/s]
https://pjreddie.com/media/files/yolov3.weights: 100%|██████████| 248M/248M [01:25<00:00, 2.89MB/s]

https://raw.githubusercontent.com/pjreddie/darknet/master/data/coco.names:   0%|          | 0.00/625 [00:00<?, ?B/s]
https://raw.githubusercontent.com/pjreddie/darknet/master/data/coco.names: 100%|██████████| 625/625 [00:00<00:00, 993kB/s]
..
----------------------------------------------------------------------
Ran 2 tests in 91.011s

OK
Detected car 92.63
Detected bird 97.22

external/external_test_yolov8.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/external_test_yolov8.py", line 5, in <module>
    import onnxruntime as ort
ModuleNotFoundError: No module named 'onnxruntime'

external/fuzz_linearizer.py

len(ast_strs)=4101
testing ast 0
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 4096, 4096, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 4096, 512), strides=(0, 1, 0, 4096), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 4096, 512), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.044194173824159216, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
4096 4096  512
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
4096 1024  512    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
2048 1024  512    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
2048  256    4  512    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
1024  256    4    2  512    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1024  256    4    2  128    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
1024  256    2    2  128    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
1024  128    2    2  128    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
1024  128    2    2    4   32    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 512  128    2    2    4   32    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 512  128    2    2    4    8    4    4    2    4    2    2    2
testing ast 1
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ ADD 
  5      ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(4, 1), offset=0, mask=None, contiguous=True),)))
  6      ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ MUL 
  9        ┣━┳ ADD 
 10        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(4, 1), offset=0, mask=None, contiguous=True),)))
 11        ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    5
testing ast 2
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 9, 5, 1, 1, 1), strides=(0, 90, 45, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 3, 2, 9, 5, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 9, 5, 1, 3, 3), strides=(0, 77, 0, 7, 1, 0, 7, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 9, 5, 1, 3, 3), strides=(0, 18, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 9, 5, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   3    2    9    5    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    9    5    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    5    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    5    3    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    5    3    2    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    3    2    3    3    3    3
testing ast 3
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 7, 7, 1, 1), strides=(56448, 0, 49, 0, 7, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1152, 1, 7, 7, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 192, 7, 7, 1, 1), strides=(0, 0, 1, 1152, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 192, 7, 7, 1, 1), strides=(9408, 0, 0, 49, 7, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1152   49  192
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  288   49  192    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 288   49  192    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  36   49    8  192    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  36   49    8   48    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  36   49    8   12    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  18   49    8    2   12    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  18   49    8    2    4    3    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   9   49    8    2    4    3    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   9   64    8    2    4    3    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9   32    8    2    2    4    3    4    2    4    4    2
testing ast 4
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 16, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 3, 3), strides=(144, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.05555555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16    2    9
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    9    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4    4    9
testing ast 5
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 14, 1, 1), strides=(1008, 504, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 36, 14, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 14, 3, 2), strides=(6160, 3080, 84, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  64   36   14    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  64   12   14    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   12   14    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   12   14    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32   12   14    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   12   14    2    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  16    4   14    2    3    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   14    2   16    3    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   14    2   16    3    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8)]
   2   14    2    2    8    3    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   2   14    2    2    2    4    3    2    2    3    3    2
testing ast 6
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 8, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ SUB 
  5    ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 26, 26), strides=(5408, 676, 26, 1), offset=0, mask=None, contiguous=True),)))
  6    ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 26, 26), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃   ┗━┳ SUB 
  8    ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 26, 26), strides=(5408, 676, 26, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 26, 26), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=1.1556952662721893e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8  128  676
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   32    4  676
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4   32    4  676    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    4  676    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    4  676    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8  676    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=13)]
   8   13   52    2    4    4    4
testing ast 7
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 32, 1, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 3, 3), strides=(288, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 3, 3), strides=(288, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.05555555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32    2    9
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    2    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    9    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    4    8    2
testing ast 8
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 2, 2), strides=(0, 0, 0, 0, 0, 0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 4, 3, 4), strides=(0, 0, 0, 3, 0, 1), offset=0, mask=((0, 1), (0, 1), (0, 3), (0, 3), (0, 3), (0, 3)), contiguous=False), View(shape=(1, 1, 1, 3, 3, 1, 2, 2), strides=(0, 0, 0, 12, 1, 0, 60, 5), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 3, 3, 1, 2, 2), strides=(0, 0, 0, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    3    3
testing ast 9
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=69504, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 10
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 6)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2, 7), strides=(0, 0, 1, 2), offset=0, mask=((0, 1), (0, 1), (0, 2), (0, 5)), contiguous=False), View(shape=(1, 1, 18), strides=(0, 0, 1), offset=0, mask=((0, 1), (0, 1), (0, 14)), contiguous=False), View(shape=(1, 1, 3, 6), strides=(0, 0, 6, 1), offset=0, mask=None, contiguous=True))))
   6    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    3
testing ast 11
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (45, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65), strides=(65, 1), offset=0, mask=None, contiguous=True),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  45   65
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  15   65    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5   65    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.GROUPTOP, axis=0, amt=13)]
   5   13    5    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.GROUPTOP, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13    5    3    3    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.GROUPTOP, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  13    3    3    5    5
testing ast 12
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (1, 1, 320, 7, 7, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1152, 1, 1), strides=(0, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1152, 1, 1), strides=(0, 0, 1152, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SQRT 
 12    ┃   ┗━┳ DIV 
 13    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━┳ ADD 
 15    ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 320   49 1152
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
 320   64 1152
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 320   16 1152    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 160   16 1152    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 160    4    4 1152    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80    4    4    2 1152    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  80    4    4    2  288    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  80    2    4    2  288    4    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2    4    2  288    4    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  20    2    4    2  288    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  20    2    4    2    8   36    4    2    4    2    2    2
testing ast 13
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 2, 4, 1, 4, 3, 2), strides=(0, 0, 0, 0, 0, 96, 24, 0, 6, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 2, 4, 1, 4, 3, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 6, 1, 1, 2, 4, 1, 4, 3, 2), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 6, 1, 8), strides=(0, 6, 1, 0, 54), offset=0, mask=((0, 1), (0, 9), (0, 6), (0, 1), (0, 6)), contiguous=False), View(shape=(1, 9, 6, 1, 1, 2, 4, 1, 4, 3, 2), strides=(0, 48, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
   2    4    4    3    2    9    6
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2    4    4    2    9    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    2    9    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4    2    4    9    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4    2    2    9    6    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    2    9    6    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    2    6    3    2    2    2    9
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    6    3    2    2    2    9
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 14
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 144, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(501264, 3481, 59, 1), offset=60, mask=None, contiguous=False),)))
 26            ┗━┳ MUL 
 27              ┣━┳ MUL 
 28              ┃ ┣━┳ DIV 
 29              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30              ┃ ┃ ┗━┳ ADD 
 31              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32              ┃ ┃   ┗━┳ EXP2 
 33              ┃ ┃     ┗━┳ MUL 
 34              ┃ ┃       ┣━┳ ADD 
 35              ┃ ┃       ┃ ┣━┳ MUL 
 36              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 37              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 38              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 39              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 40              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 42              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┗━┳ SUB 
 45              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃   ┗━┳ DIV 
 47              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃     ┗━┳ ADD 
 49              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃       ┗━┳ EXP2 
 51              ┃         ┗━┳ MUL 
 52              ┃           ┣━┳ ADD 
 53              ┃           ┃ ┣━┳ MUL 
 54              ┃           ┃ ┃ ┣━┳ MUL 
 55              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 56              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 57              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 58              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 59              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 60              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┗━┳ MUL 
 63                ┣━┳ ADD 
 64                ┃ ┣━┳ MUL 
 65                ┃ ┃ ┣━┳ MUL 
 66                ┃ ┃ ┃ ┣━┳ SUB 
 67                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 68                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 72                ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(501264, 3481, 59, 1), offset=60, mask=None, contiguous=False),)))
 144    2   56   56
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   9   16    2   56   56
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3   16    2   56   56    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2   56   56    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4)]
  16    2   56   14    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 15
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 2, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 144, 36, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 2, 4, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 9, 5, 1, 1, 2, 4, 1, 4, 3, 3), strides=(308, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 9, 5, 1, 8), strides=(270, 5, 1, 0, 45), offset=0, mask=((0, 4), (0, 9), (0, 5), (0, 1), (0, 6)), contiguous=False), View(shape=(4, 9, 5, 1, 1, 2, 4, 1, 4, 3, 3), strides=(360, 40, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
   2    4    4    3    3    4    9    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2    4    4    3    4    9    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    3    4    9    5    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    3    4    4    9    5    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4    3    2    4    9    5    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    3    2    4    9    5    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    2    9    5    3    2    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    3    9    5    3    2    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    2    9    5    3    2    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 16
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 56, 56, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 64, 1, 1), strides=(0, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 64, 1, 1), strides=(0, 0, 64, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 3136   64
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  64  784   64    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  784   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8  784    4   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
   8  112    4   64    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  112    4    2   64    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   56    4    2   64    4    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   56    2    2   64    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   56    2    2    4   16    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   56    2    2    4    4    4    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   56    2    2    2    4    4    4    4    2    7    2    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.MAX, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.SUB, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 64, 1, 1), strides=(0, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 64, 1, 1), strides=(0, 0, 64, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 64, 56, 56, 1, 1, 1)), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=UnaryOps.SQRT, src=(LazyOp(op=BinaryOps.DIV, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None)), arg=None),), arg=None)), arg=None), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
COMPILE FAILED!!
testing ast 17
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1024, 5120, 1), strides=(5242880, 5120, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1024, 5120, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1024, 5120, 640), strides=(655360, 640, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1024, 5120, 640), strides=(0, 0, 640, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1024, 5120, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
2048 5120  640
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
2048 1280  640    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
1024 1280  640    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
1024  320    4  640    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 512  320    4    2  640    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 512  320    4    2  160    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 512  320    2    2  160    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 512  160    2    2  160    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 512  160    2    2    4   40    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  160    2    2    4   40    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256  160    2    2    4    8    5    4    2    4    2    2    2
testing ast 18
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(94080, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (2, 1, 480, 14, 14, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 80, 1, 1), strides=(15680, 0, 0, 14, 1, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 80, 1, 1), strides=(0, 0, 1, 0, 0, 480, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━┳ DIV 
 20      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┗━┳ ADD 
 22        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┗━┳ EXP2 
 24          ┗━┳ MUL 
 25            ┣━┳ ADD 
 26            ┃ ┣━┳ MUL 
 27            ┃ ┃ ┣━┳ MUL 
 28            ┃ ┃ ┃ ┣━┳ SUB 
 29            ┃ ┃ ┃ ┃ ┣━┳ SUM (2, 1, 480, 14, 14, 1, 1, 1)
 30            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 31            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 80, 1, 1), strides=(15680, 0, 0, 14, 1, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 80, 1, 1), strides=(0, 0, 1, 0, 0, 480, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┗━┳ SQRT 
 36            ┃ ┃   ┗━┳ DIV 
 37            ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38            ┃ ┃     ┗━┳ ADD 
 39            ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  480  196   80
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2  160  196   80    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 160  196   80    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  40  196    4   80    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40  196    4   20    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40  196    4    5    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  40  196    2    5    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  40   98    2    2    5    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  40   49    2    2    2    5    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64   49    2    2    2    5    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   49    2    2    2    2    5    3    2    4    4    2
testing ast 19
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 3, 2), strides=(0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 3, 2), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (1, 3, 2)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(3, 3, 2), strides=(3, 1, 0), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(3, 3, 2), strides=(2, 0, 1), offset=0, mask=None, contiguous=False),)))
   3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    2    3
testing ast 20
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 5), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 5), strides=(1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 5), strides=(5, 0, 1), offset=0, mask=None, contiguous=True),)))
   5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    4
testing ast 21
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 128, 128, 128, 1, 1, 1, 1), strides=(0, 0, 2097152, 16384, 128, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 3, 128, 128, 128, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 128, 128, 128, 32, 1, 1, 1), strides=(0, 0, 0, 16384, 128, 1, 2097152, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 128, 128, 128, 32, 1, 1, 1), strides=(0, 0, 32, 0, 0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 128, 128, 128, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   3 2097152   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   3 2097152   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   3 1048576   16    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1048576   16    2    2    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1048576    4    2    2    3    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
1048576    4    2    3    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1048576    2    3    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
262144    4    2    3    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
16384    4   16    2    3    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
16384    2   16    2    2    3    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
16384   16    2    2    2    3    4    2    4
testing ast 22
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1152, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━┳ ADD 
 26            ┃   ┣━┳ MUL 
 27            ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28            ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┗━┳ MUL 
 31              ┣━┳ MUL 
 32              ┃ ┣━┳ DIV 
 33              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34              ┃ ┃ ┗━┳ ADD 
 35              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36              ┃ ┃   ┗━┳ EXP2 
 37              ┃ ┃     ┗━┳ MUL 
 38              ┃ ┃       ┣━┳ ADD 
 39              ┃ ┃       ┃ ┣━┳ MUL 
 40              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 41              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 42              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 43              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃ ┗━┳ SUB 
 49              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃   ┗━┳ DIV 
 51              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52              ┃     ┗━┳ ADD 
 53              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54              ┃       ┗━┳ EXP2 
 55              ┃         ┗━┳ MUL 
 56              ┃           ┣━┳ ADD 
 57              ┃           ┃ ┣━┳ MUL 
 58              ┃           ┃ ┃ ┣━┳ MUL 
 59              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 60              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 61              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66              ┗━┳ MUL 
 67                ┣━┳ ADD 
 68                ┃ ┣━┳ MUL 
 69                ┃ ┃ ┣━┳ MUL 
 70                ┃ ┃ ┃ ┣━┳ SUB 
 71                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 72                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 73                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 74                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 75                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 76                ┗━┳ ADD 
 77                  ┣━┳ MUL 
 78                  ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 79                  ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 80                  ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
1152    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 384    2   49    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 192    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  96    2    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24    2    2   49    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6    2    2   49    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    2   49    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 23
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=48000, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 24
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1024, 1), strides=(0, 1024, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 8, 1024, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1024, 77), strides=(0, 78848, 77, 1), offset=0, mask=None, contiguous=True),)))
8192   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
 512   16   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 512    8   77    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 512   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  32   16   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   16    2   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   16    2   77    2    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    8    2   77    2    8    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    4    2   77    2    8    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4    2    2   77    2    8    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   2    2    2    4   77    2    8    4    2    2
testing ast 25
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 2, 5, 6, 5, 3, 4), strides=(0, 0, 0, 0, 0, 0, 1800, 360, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 2, 5, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 1, 1, 1, 2, 5, 6, 5, 3, 4), strides=(2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 1, 1, 1, 2, 5, 6, 5, 3, 4), strides=(1800, 0, 0, 0, 0, 0, 0, 360, 60, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   2 1800    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2 1824    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  912    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 912    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 456    2    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 114    2    2    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 114    2    2    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  57    2    2    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  57    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  19    3    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    3    2    2    4    2    2    2
testing ast 26
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 1, 1), strides=(1352, 169, 13, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 8, 13, 13, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━┳ MAX 
  5        ┃ ┣━┳ ADD 
  6        ┃ ┃ ┣━┳ MUL 
  7        ┃ ┃ ┃ ┣━┳ MUL 
  8        ┃ ┃ ┃ ┃ ┣━┳ SUB 
  9        ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(5408, 676, 52, 2, 26, 1), offset=0, mask=None, contiguous=False),)))
 10        ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(1352, 169, 13, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 128    8   13   13    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32    8   13   13    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   13   13    2    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   13   13    2    2    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16   13   13    2    2    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16   13   13    2    4    8    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   13   13    2    2    4    8    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   8   13   13    2    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=13)]
   8   13    2   13    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=13), Opt(op=OptOps.LOCAL, axis=3, amt=13)]
testing ast 27
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 3, 1, 1), strides=(0, 0, 3, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 3, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 3, 1, 1), strides=(0, 0, 0, 7, 1, 77, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 3, 1, 1), strides=(0, 0, 77, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    3   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    3    3   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3   77    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   77    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 28
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 4, 4, 1, 1, 1, 1), strides=(0, 0, 64, 16, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 320, 4, 4, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 4, 6, 4, 6, 4, 6), strides=(0, 64, 0, 16, 0, 4, 0, 1), offset=-21, mask=((0, 1), (0, 320), (0, 4), (1, 5), (0, 4), (1, 5), (0, 4), (1, 5)), contiguous=False), View(shape=(1, 1, 320, 4, 4, 4, 320, 3, 3, 3), strides=(0, 0, 0, 576, 24, 1, 13824, 4032, 168, 7), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 4, 4, 320, 3, 3, 3), strides=(0, 0, 8640, 0, 0, 0, 27, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 320    4    4    4  320    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  40    4    4    4    8  320    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  40    4    4    2    8  320    3    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  40    4    2    8  320    3    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    4    2    8  320    3    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  64    4    2    8  320    3    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  64    4    2    2  320    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 29
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 256), strides=(0, 256, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=1.52587890625e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32  256
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32  256
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8  256    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8   32    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8    8    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   8    4    2    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   8    4    4    8    4    2
testing ast 30
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (512, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
 512   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    4   10    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2   10    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   10    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4   10    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   10    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 31
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 1, 1), strides=(1540, 770, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 55, 14, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 2, 2), strides=(6160, 3080, 56, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
3520   14    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
 220   14   16    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  55   14   16    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  55    7   16    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  55    7   16    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  55    7   16    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  55    7    8    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  55    7    8    4    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    7    8    4    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64    7    4    4    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2    7    4   32    4    2    2    2    2    2
testing ast 32
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 2, 1), strides=(12, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (2, 6, 2, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 2, 1500), strides=(18000, 3000, 1500, 1), offset=0, mask=None, contiguous=True),)))
  24 1500
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8 1500    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1500    3    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4  375    3    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 375    3    8    4
testing ast 33
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━━ CONST ConstBuffer(val=0.9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  5    ┗━┳ MUL 
  6      ┣━━ CONST ConstBuffer(val=0.10588235294117647, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┗━┳ MUL 
  8        ┣━┳ SUM (1, 4, 1, 1)
  9        ┃ ┗━┳ MUL 
 10        ┃   ┣━┳ SUB 
 11        ┃   ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(36, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 12        ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃   ┗━┳ SUB 
 14        ┃     ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(36, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 15        ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16        ┗━━ CONST ConstBuffer(val=0.05555555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    2    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    2    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    9
testing ast 34
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 7, 1, 1, 5, 4, 1, 1, 1, 1), strides=(980, 140, 20, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 7, 7, 1, 1, 5, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 7, 1, 1, 5, 4, 3, 4, 3, 3), strides=(972, 108, 12, 0, 0, 0, 0, 4, 1, 108, 12), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 7, 1, 1, 5, 4, 3, 4, 3, 3), strides=(0, 0, 0, 0, 0, 432, 1, 48, 4, 144, 16), offset=0, mask=None, contiguous=False),)))
   2    7    7    5    4    3    4    3    3
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   2    7    7    5    4    3    3    3    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    7    5    4    3    3    3    4    7
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    5    4    3    3    3    4    7    2
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   7    5    2    2    3    3    3    4    7    2
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    5    2    2    3    3    4    7    2    3
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   7    5    2    2    3    3    4    7    2    3
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   7    5    2    2    3    3    4    7    2    3
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 35
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 1), strides=(0, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 16, 2, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 2), strides=(0, 1, 0, 16), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 2), strides=(0, 0, 2, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 1), strides=(0, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  16    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    8    2    2
testing ast 36
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 11, 1, 7), strides=(0, 0, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 12, 2, 8), strides=(0, 0, 0, 12, 1, 2), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 11), (0, 2), (0, 6)), contiguous=False), View(shape=(1, 1, 22, 21), strides=(0, 0, 16, 1), offset=0, mask=((0, 1), (0, 1), (0, 12), (0, 16)), contiguous=False), View(shape=(1, 1, 2, 11, 3, 7), strides=(0, 0, 231, 21, 7, 1), offset=0, mask=None, contiguous=True))))
  11    7    2    3
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    7    2    3
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    2    3    7
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    3    7    2
testing ast 37
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 1, 32, 32, 1, 1), strides=(0, 0, 1024, 0, 32, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 16, 1, 32, 32, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 16, 32, 32, 1, 1), strides=(0, 0, 1, 16, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 16, 32, 32, 1, 1), strides=(0, 0, 0, 1024, 32, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  16 1024   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  16  256   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  256   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8  128    2   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8  128    2    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8  128    2    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8   64    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8   32    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   8    2    2    2   16    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    2    2   16    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8)]
   8    2    2    2    2    8    4    2    4    4    2
testing ast 38
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 64, 64, 1, 1, 1), strides=(0, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 320, 64, 64, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 64, 64, 320, 1, 1), strides=(0, 0, 0, 64, 1, 4096, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 64, 64, 320, 1, 1), strides=(0, 0, 320, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 320 4096  320
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 320 1024  320    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 160 1024  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 160  256    4  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80  256    4    2  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  80  256    4    2   80    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  80  256    2    2   80    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  80  128    2    2   80    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  80  128    2    2    8   10    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  80  128    2    8   10    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  80   16    2    8    8   10    4    2    4    2    2    2
testing ast 39
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 53, 12, 1, 1), strides=(1272, 636, 12, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 53, 12, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 53, 12, 5, 5), strides=(6160, 3080, 56, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 53, 12, 5, 5), strides=(1272, 636, 12, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   53   12    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   53   12    5    5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   53   12    5    5    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   53   12    4    5    5    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
   2   53    4    4    5    5    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   53    2    4    5    5    4    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   53    2    2    5    5    4    2    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   53    2    5    5    4    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2   64    2    5    5    4    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64    2    2    5    5    4    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    2    2   16    5    5    4    2    3    2    2    2
testing ast 40
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 1, 4, 3, 3, 3), strides=(0, 0, 108, 0, 0, 0, 27, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 1, 4, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 7, 7, 7, 4, 3, 3, 3), strides=(0, 0, 0, 81, 9, 1, 729, 81, 9, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 7, 7, 7, 4, 3, 3, 3), strides=(0, 0, 343, 49, 7, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    3    3    3    7    7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   4    4    3    3    7    7    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    3    7    7    7    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    3    3    7    7    3    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   4    3    7    7    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3    2    7    7    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    2    2    7    7    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    2    3    7    7    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3    2    7    7    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   2    2    3    7    7    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 41
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 21, 4, 1, 1), strides=(168, 84, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 21, 4, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 21, 4, 5, 5), strides=(6160, 3080, 140, 5, 56, 3), offset=0, mask=None, contiguous=False),)))
  64   21    4    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  64    7    4    5    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  64    4    5    5    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    5    5    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4   16    2    5    5    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4   16    2    5    3    7    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    4    8    2    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    8    2    2    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2    2    2    2    2    4    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    4    2    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   2    2    2    2    2    4    5    3    7    5    2
testing ast 42
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 1, 1024, 1)
  5      ┃ ┗━┳ MUL 
  6      ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 4096), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  7      ┃   ┗━┳ CAST (dtypes.float, False)
  8      ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 4096), strides=(0, 0, 4096, 1), offset=0, mask=None, contiguous=True),)))
  9      ┗━┳ CAST (dtypes.float, False)
 10        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
1024 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32   32 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   16 4096    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  16    4    4 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    4    4    2 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    4    4    2 4096    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    4    2 4096    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4 1024    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2    4 1024    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    2    4    8  128    2    2    4    4    4
testing ast 43
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=63744, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 44
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 1, 1), strides=(1540, 770, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (32, 2, 55, 14, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 2, 2), strides=(6216, 3108, 56, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.25, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   55   14    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   55   14   16    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   4   55   14    8    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  55   14    8    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64   14    8    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  64   14    8    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  64   14    8    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   14    8    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32   14    4    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  32   14    2    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  32   14    2    2    4    2    2    2    4
testing ast 45
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 24, 56, 56, 1, 1, 1), strides=(75264, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 24, 56, 56, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 24, 56, 56, 144, 1, 1), strides=(451584, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 24, 56, 56, 144, 1, 1), strides=(0, 0, 144, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   24 3136  144
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2   24 3136    8   18
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8 3136    8   18    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8 3136    8   18    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8 3136    2   18    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2 3136    2   18    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
3136    2    2   18    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
3136    2   18    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  98    2   32   18    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  49    2   32    2   18    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
  49    2    2    2   16   18    3    2    4    4    2
testing ast 46
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 4, 1, 6, 1, 3), strides=(0, 0, 0, 0, 0, 18, 0, 3, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 4, 1, 6, 1, 3)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ ADD 
  5      ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 4, 2, 6, 1, 3), strides=(0, 0, 0, 0, 0, 18, 0, 3, 0, 1), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 4, 2, 6, 1, 3), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 4, 2, 6, 1, 3), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ MUL 
  9        ┣━┳ ADD 
 10        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 4, 2, 6, 1, 3), strides=(0, 0, 0, 0, 0, 18, 0, 3, 0, 1), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 4, 2, 6, 1, 3), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 4, 2, 6, 1, 3), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  72   48
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  72    4   12
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  24    4   12    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  12    4   12    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  12    4    3    2   12
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   4    4    3    2   12    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    3    2   12    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    3    2   12    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    3    2   12    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 47
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99, 1), strides=(58806, 9801, 99, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ SUM (2, 6, 99, 99, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99, 64), strides=(38016, 6336, 64, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99, 64), strides=(38016, 64, 0, 384, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99, 1), strides=(0, 0, 448, 1, 0), offset=0, mask=None, contiguous=False),)))
   2    6   99   99   64
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    2   99   99   64    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   99   99   64    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   99   99    4   16    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2   99   99    4    3    2   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  99   99    2    4    3    2   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 48
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 1, 32, 4, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 1, 32, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 32, 4, 32, 4, 1, 1), strides=(0, 0, 0, 0, 0, 512, 4, 16, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 32, 4, 32, 4, 1, 1), strides=(0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32    4   32    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    4   32    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   32    4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   32    4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    8    4    4    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    8    4    4    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    8    4    4    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 49
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 1, 1), strides=(1540, 770, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 55, 14, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 2, 2), strides=(6160, 3080, 56, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 55, 14, 2, 2), strides=(1540, 770, 14, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
3520   14    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
 220   14   16    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  55   14   16    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  55    7   16    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  55    7   16    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  55    7   16    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  55    7    8    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  55    7    8    4    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    7    8    4    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64    7    4    4    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2    7    4   32    4    2    2    2    2    2
testing ast 50
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 7, 1, 1, 1), strides=(196, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (2, 1, 4, 7, 7, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 7, 4, 3, 3), strides=(324, 0, 0, 9, 1, 81, 9, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 7, 4, 3, 3), strides=(0, 0, 9, 0, 0, 36, -3, -1), offset=8, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4    7    7    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    7    7    2    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    7    7    2    4    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    7    2    4    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   7    7    2    4    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    7    2    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   7    7    3    2    2    3    4    2
testing ast 51
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 1, 1, 1), strides=(25088, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 512, 7, 7, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 4, 16, 4, 16), strides=(50176, 196, 0, 14, 0, 1), offset=-15, mask=((0, 2), (0, 256), (0, 4), (1, 15), (0, 4), (1, 15)), contiguous=False), View(shape=(2, 1, 512, 7, 7, 256, 3, 3), strides=(1048576, 0, 0, 128, 2, 4096, 1088, 17), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
   2  512    7    7  256    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  256    7    7  256    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256    7    7  256    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    7    7    4  256    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  64    7    7    4  256    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64    7    7    4   64    3    2    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  64    7    7    4   64    2    2    3    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  64    7    7    2    2   64    2    2    3    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    7    7    2    2    8    8    2    2    3    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64    7    7    2    2    8    4    2    2    2    3    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  64    7    7    2    2    8    4    2    2    2    3    4    3
testing ast 52
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 320, 64, 64, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 320, 1, 1), strides=(1310720, 0, 0, 20480, 320, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 320, 1, 1), strides=(0, 0, 320, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
   2  320 4096  320
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   80 4096  320    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  80 4096  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  80 1024    4  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  40 1024    4    2  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40 1024    4    2   80    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  40 1024    2    2   80    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  40  512    2    2   80    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  20  512    2    2   80    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32  512    2    2   80    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4  512    2    2    8   80    4    2    4    2    2    2
testing ast 53
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 512, 512, 1, 1, 1), strides=(0, 0, 262144, 512, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 128, 512, 512, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 4, 514, 4, 514), strides=(0, 262144, 0, 512, 0, 1), offset=-513, mask=((0, 1), (0, 128), (0, 4), (1, 513), (0, 4), (1, 513)), contiguous=False), View(shape=(1, 1, 128, 512, 512, 128, 3, 3), strides=(0, 0, 0, 2056, 1, 4227136, 1058840, 515), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 512, 512, 128, 3, 3), strides=(0, 0, 1152, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 512, 512, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128  512  512  128    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 128  512   32   16  128    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 128  512   32    8  128    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64  512   32    8  128    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64  128   32    8    4  128    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16  128   32    8    4  128    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4  128   32    8    4  128    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4  128   16    8    4  128    3    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   4  128   16    4    4  128    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4  128    8    4    4    2  128    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   4  128    8    4    2    4  128    3    3    2    2    4    4    2    2
testing ast 54
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 1), strides=(0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 1, 4, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 5), strides=(0, 0, 0, 1), offset=-2, mask=((0, 1), (0, 1), (0, 3), (2, 5)), contiguous=False), View(shape=(1, 1, 1, 4, 1, 2), strides=(0, 0, 0, 1, 0, 6), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 2), strides=(0, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2
testing ast 55
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 112, 112, 1, 1, 1), strides=(401408, 12544, 0, 112, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 32, 1, 112, 112, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 4, 114, 4, 114), strides=(401408, 12544, 0, 112, 0, 1), offset=-113, mask=((0, 2), (0, 32), (0, 4), (1, 113), (0, 4), (1, 113)), contiguous=False), View(shape=(2, 32, 1, 112, 112, 1, 3, 3), strides=(6653952, 207936, 0, 456, 1, 0, 52440, 115), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 112, 112, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
   2   32  112  112    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8)]
   2   32  112   14    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   32   56   14    8    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   56   14    8    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  32   64   14    8    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=7)]
  32   64    2    8    3    3    2    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  32   64    2    2    3    3    2    2    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   32    2    2    3    3    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  32   32    2    2    3    3    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32   16    2    2    2    3    3    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  32    2    2    2   16    3    3    2    2    7    4    2
testing ast 56
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 1), strides=(0, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 2), strides=(0, 2, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 2, 2), strides=(0, 0, 1, 2), offset=0, mask=None, contiguous=False),)))
  16    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    8    2    2
testing ast 57
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 2, 3), strides=(0, 0, 6, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 2, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 5, 1, 2, 3), strides=(0, 0, 0, 7, 1, 0, 7, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 5, 1, 2, 3), strides=(0, 0, 50, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    2    3   10    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   6    2    3   10    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   6    3   10    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   10    5    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3   10    2    6    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    2    6    5    3
testing ast 58
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=19584, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 59
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=71424, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 60
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=31104, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 61
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 1, 10, 6, 2, 2), strides=(240, 0, 0, 0, 24, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 1, 10, 6, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 6, 10, 6, 2, 2), strides=(0, 0, 0, 4, 0, 0, 2, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 6, 10, 6, 2, 2), strides=(360, 0, 0, 60, 6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4   60    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   30    4    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  30    4    6    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  30    4    2    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  10    4    2    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    4    2    2    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    2    2    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 62
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1,)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(50257,), strides=(1,), offset=0, mask=None, contiguous=True),)))
50257
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=29)]
  29 1733
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
1733   29
testing ast 63
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 6, 1, 1, 1), strides=(324, 0, 54, 6, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 9, 6, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 6, 1, 3, 2), strides=(77, 0, 0, 7, 1, 0, 7, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 6, 1, 3, 2), strides=(0, 0, 6, 0, 0, 0, 2, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 6, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6    9    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    6    9    6    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    9    6    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    9    6    3    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    3    6    3    3    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2    3    6    3    2    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    3    3    3    2    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    3    3    2    2    2    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    2    3    2    2    2    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 64
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 11, 11, 1, 1, 1), strides=(484, 0, 121, 11, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 4, 11, 11, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 13, 4, 13), strides=(324, 81, 0, 9, 0, 1), offset=-20, mask=((0, 2), (0, 4), (0, 4), (2, 11), (0, 4), (2, 11)), contiguous=False), View(shape=(2, 1, 4, 11, 11, 4, 3, 3), strides=(10816, 0, 0, 52, 1, 2704, 728, 14), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 11, 11, 4, 3, 3), strides=(0, 0, 9, 0, 0, 36, -3, -1), offset=8, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 11, 11, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 11, 11, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4   11   11    4    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4   11   11    4    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   11   11    4    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11   11    4    3    3    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  11   11    4    3    4    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11   11    3    4    2    3    4
testing ast 65
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 7, 1, 1, 1), strides=(420, 0, 70, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 10, 7, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 7, 3, 2, 1), strides=(231, 0, 0, 7, 1, 77, 7, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 7, 3, 2, 1), strides=(0, 0, 6, 0, 0, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   70    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    3   70    2    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   70    2    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  70    2    3    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  70    2    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  35    2    3    3    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  35    2    3    4    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 66
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1500, 64, 1), strides=(576000, 96000, 64, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 6, 1500, 64, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1500, 64, 1500), strides=(13500000, 2250000, 1500, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1500, 64, 1500), strides=(576000, 64, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
   2    6 1500   64 1500
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
   2    6 1504   64 1500
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    6  752   64 1500    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6  752   64 1500    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3  752   64    2 1500    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3  376   64    2    2 1500    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3  376   64    2    2  375    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   3  376   32    2    2  375    2    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   3  188   32    2    2  375    2    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   3  188   32    2  375    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   3  188    4    2    8  375    2    2    4    2    2    2
testing ast 67
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (32, 10, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10, 576), strides=(576, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10, 576), strides=(0, 576, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  32   10  576
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  32   10   32   18
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    5   32   18    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   32   18    2    5
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4   32   18    2    5
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    4   32   18    2    5    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   32   18    2    5    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   32   18    2    5    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 68
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 1, 1, 1), strides=(0, 0, 1220, 122, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 64, 10, 122, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 32, 3, 3), strides=(0, 0, 0, 124, 1, 1488, 124, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=-0.1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ ADD 
 14      ┃   ┣━┳ SUM (1, 1, 64, 10, 122, 1, 1, 1)
 15      ┃   ┃ ┗━┳ MUL 
 16      ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 32, 3, 3), strides=(0, 0, 0, 124, 1, 1488, 124, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
 18      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 122, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   10  122   32    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   10  122   32    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   10  122   32    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8   10  122    8    3    3    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   8   10  122    8    3    4    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4   10  122    2    8    3    4    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    5  122    2    8    3    4    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    5  122    2    4    2    3    4    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    5  122    2    2    4    2    3    4    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=2, amt=32)]
   2    5  128    2    2    4    2    3    4    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5  128    2    2    2    4    2    3    4    2    4    3    2
testing ast 69
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(5408, 0, 676, 26, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (16, 1, 8, 26, 26, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 3, 3), strides=(784, 0, 0, 28, 1, 0, 28, 1), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 3, 3), strides=(0, 0, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16    8   26   26    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
  16    8   32   26    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  16    8   16   26    3    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  16   16   26    3    3    2    8
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16    8   26    2    3    3    2    8
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    8   26    2    3    2    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    8   26    2    2    3    2    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   8    8   13    2    2    3    2    8    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8   13    2    2    8    3    2    8    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   8   13    2    8    3    2    8    3    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8   13    8    2    3    2    8    3    2    2
testing ast 70
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 256, 56, 56, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 256, 1, 1), strides=(0, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 256, 1, 1), strides=(0, 0, 256, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 28, 2, 28, 2), strides=(0, 784, 28, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True))))
 256   56   56  256
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
 256   56   56   32    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64   56   56   32    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   56   56   32    8    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32   56   56   32    4    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32   56   56    4    2    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8   56   56    4    4    2    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   8   56   56    2    2    4    2    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8   56   28    2    2    2    4    2    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8   28   28    2    2    2    2    4    2    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   8   32   28    2    2    2    2    4    2    4    2   32
testing ast 71
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 1, 2), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 2)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.int, False)
  4      ┃ ┗━┳ CMPEQ 
  5      ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 3, 2), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 3, 2), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  7      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 3, 2), strides=(0, 1, 0), offset=3, mask=None, contiguous=False),)))
   2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3
testing ast 72
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 32, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ EXP2 
  5      ┃ ┃ ┗━┳ MUL 
  6      ┃ ┃   ┣━┳ ADD 
  7      ┃ ┃   ┃ ┣━┳ MUL 
  8      ┃ ┃   ┃ ┃ ┣━┳ MUL 
  9      ┃ ┃   ┃ ┃ ┃ ┣━┳ SUB 
 10      ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
 11      ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃ ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15      ┃ ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃ ┗━┳ NEG 
 17      ┃   ┗━┳ MUL 
 18      ┃     ┣━┳ CAST (dtypes.float, False)
 19      ┃     ┃ ┗━┳ CMPLT 
 20      ┃     ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┃   ┗━┳ MAX 
 22      ┃     ┃     ┣━┳ SUB 
 23      ┃     ┃     ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24      ┃     ┃     ┃ ┗━┳ EXP2 
 25      ┃     ┃     ┃   ┗━┳ MUL 
 26      ┃     ┃     ┃     ┣━┳ ADD 
 27      ┃     ┃     ┃     ┃ ┣━┳ MUL 
 28      ┃     ┃     ┃     ┃ ┃ ┣━┳ MUL 
 29      ┃     ┃     ┃     ┃ ┃ ┃ ┣━┳ SUB 
 30      ┃     ┃     ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
 31      ┃     ┃     ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃     ┃     ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33      ┃     ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 34      ┃     ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┃     ┃     ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36      ┃     ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃     ┗━┳ NEG 
 38      ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 39      ┗━┳ MUL 
 40        ┣━┳ CAST (dtypes.float, False)
 41        ┃ ┗━┳ CMPLT 
 42        ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43        ┃   ┗━┳ MAX 
 44        ┃     ┣━┳ ADD 
 45        ┃     ┃ ┣━┳ MUL 
 46        ┃     ┃ ┃ ┣━┳ MUL 
 47        ┃     ┃ ┃ ┃ ┣━┳ SUB 
 48        ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
 49        ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 50        ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 51        ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 52        ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 53        ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54        ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    8    4
testing ast 73
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(5408, 0, 676, 26, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (128, 1, 8, 26, 26, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 3, 3), strides=(784, 0, 0, 28, 1, 0, 28, 1), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 3, 3), strides=(0, 0, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128    8   26   26    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
 128    8   32   26    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 128    8   16   26    3    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 128   16   26    3    3    2    8
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128    8   26    2    3    3    2    8
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 128    8   26    2    3    2    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64    8   26    2    2    3    2    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64    8   13    2    2    3    2    8    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64   13    2    2    8    3    2    8    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  64   13    2    8    3    2    8    3    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   13    2    8   16    3    2    8    3    2    2
testing ast 74
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 5, 1, 1), strides=(220, 110, 5, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (32, 2, 22, 5, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 5, 5, 5), strides=(6216, 3108, 140, 5, 28, 1), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.04, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 5, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   22    5    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   22    5   16    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   11    5   16    5    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    5   16    5    5    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    5   16    5    2    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    5   16    2    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  11    5    4    4    2    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  11    5    4    2    2    2    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  11    5    2    2    2    2    2    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
  11    5    2    2    2    2    2    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
testing ast 75
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 40, 1, 28, 28, 1, 1), strides=(31360, 0, 784, 0, 28, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 40, 1, 28, 28, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 40, 240, 28, 28, 1, 1), strides=(0, 0, 1, 40, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 40, 240, 28, 28, 1, 1), strides=(188160, 0, 0, 784, 28, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   40  784  240
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   10  784  240    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10  784  240    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  10  800  240    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5  800    2  240    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5  200    2  240    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5   50    2  240    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5   25    2    2  240    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   5   25    2  240    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   5   25    2    8   30    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 76
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=46848, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 77
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1152, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ ADD 
  9          ┣━┳ MUL 
 10          ┃ ┣━┳ DIV 
 11          ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃ ┃ ┗━┳ ADD 
 13          ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14          ┃ ┃   ┗━┳ EXP2 
 15          ┃ ┃     ┗━┳ MUL 
 16          ┃ ┃       ┣━┳ ADD 
 17          ┃ ┃       ┃ ┣━┳ MUL 
 18          ┃ ┃       ┃ ┃ ┣━┳ MUL 
 19          ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 20          ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 21          ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 22          ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23          ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 24          ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25          ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26          ┃ ┗━┳ ADD 
 27          ┃   ┣━┳ MUL 
 28          ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 29          ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 30          ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 31          ┗━┳ MUL 
 32            ┣━┳ MUL 
 33            ┃ ┣━┳ DIV 
 34            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┗━┳ ADD 
 36            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37            ┃ ┃   ┗━┳ EXP2 
 38            ┃ ┃     ┗━┳ MUL 
 39            ┃ ┃       ┣━┳ ADD 
 40            ┃ ┃       ┃ ┣━┳ MUL 
 41            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 42            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 43            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 44            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 45            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 47            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 49            ┃ ┗━┳ SUB 
 50            ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 51            ┃   ┗━┳ DIV 
 52            ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 53            ┃     ┗━┳ ADD 
 54            ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55            ┃       ┗━┳ EXP2 
 56            ┃         ┗━┳ MUL 
 57            ┃           ┣━┳ ADD 
 58            ┃           ┃ ┣━┳ MUL 
 59            ┃           ┃ ┃ ┣━┳ MUL 
 60            ┃           ┃ ┃ ┃ ┣━┳ SUB 
 61            ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 62            ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 63            ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 64            ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 65            ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66            ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 67            ┗━┳ MUL 
 68              ┣━┳ ADD 
 69              ┃ ┣━┳ MUL 
 70              ┃ ┃ ┣━┳ MUL 
 71              ┃ ┃ ┃ ┣━┳ SUB 
 72              ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 73              ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 74              ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 75              ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 76              ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 77              ┗━┳ ADD 
 78                ┣━┳ MUL 
 79                ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80                ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 81                ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
1152    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 384    2   49    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 192    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  96    2    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24    2    2   49    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6    2    2   49    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    2   49    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 78
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(327680, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 1280, 16, 16, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 2560, 1, 1), strides=(655360, 0, 0, 16, 1, 256, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 2560, 1, 1), strides=(0, 0, 2560, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(327680, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1280  256 2560
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  320  256 2560    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 320  256 2560    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 320   64    4 2560    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160   64    4    2 2560    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 160   64    4    2  640    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 160   64    2    2  640    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 160   32    2    2  640    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 160   32    2    2    4  160    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  80   32    2    2    4  160    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80   32    2    2    4    4   40    4    2    4    2    2    2
testing ast 79
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.ulong, st=ShapeTracker(views=(View(shape=(2, 2, 1), strides=(2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.ulong, st=ShapeTracker(views=(View(shape=(2, 2, 2), strides=(2, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.ulong, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=((0, 2), (0, 1)), contiguous=False), View(shape=(2, 2, 2), strides=(0, 1, 2), offset=0, mask=None, contiguous=False))))
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    2
testing ast 80
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(10, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.long, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━┳ ADD 
  6    ┃     ┣━┳ SUM (10, 1)
  7    ┃     ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(11, 19), strides=(0, 0), offset=0, mask=((0, 11), (9, 19)), contiguous=False), View(shape=(10, 10), strides=(1, 20), offset=0, mask=None, contiguous=False))))
  8    ┃     ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(10, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  10   10
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    2   10
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   10    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    2   10
testing ast 81
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ SUB 
  3    ┃ ┣━━ CONST ConstBuffer(val=51864.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ MAX (2, 1)
  5    ┃   ┗━┳ MUL 
  6    ┃     ┣━┳ CAST (dtypes.int, False)
  7    ┃     ┃ ┗━┳ CMPEQ 
  8    ┃     ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 51864), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃     ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 51864), strides=(51864, 1), offset=0, mask=None, contiguous=True),)))
 10    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 51864), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
 11    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2 51864
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
51864    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
12966    2    4
testing ast 82
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 16, 1), strides=(32, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (4, 2, 16, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 16, 8), strides=(16, 8, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 16, 8), strides=(0, 0, 8, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 16, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
   8   16    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   16    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2    8    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    2    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 83
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 4, 1, 11, 1, 7), strides=(308, 0, 0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 4, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 4, 3, 12, 2, 8), strides=(1296, 0, 0, 6, 2, 144, 1, 24), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 3), (0, 9), (0, 2), (0, 6)), contiguous=False), View(shape=(4, 1, 1, 4, 44, 21), strides=(2304, 0, 0, 576, 16, 1), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 36), (0, 16)), contiguous=False), View(shape=(4, 1, 1, 4, 4, 11, 3, 7), strides=(3696, 0, 0, 924, 231, 21, 7, 1), offset=0, mask=None, contiguous=True))))
   4    4   11    7    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4   11    7    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   4   11    4    4    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    4    4    3    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  11    4    3    7    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  11    2    3    7    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 84
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 5, 1, 1, 1), strides=(270, 0, 45, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 9, 5, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 5, 3, 3, 3), strides=(231, 0, 0, 7, 1, 77, 7, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 5, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 5, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6    9    5    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    6    9    5    2    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    9    5    2    3    3    3    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    5    2    3    3    3    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9    5    2    3    3    6    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   9    5    3    3    6    2    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    5    3    6    2    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    5    3    3    6    2    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3    3    3    6    2    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    3    3    6    2    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 85
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 11, 1, 7), strides=(77, 0, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 12, 3, 8), strides=(405, 0, 3, 45, 1, 9), offset=0, mask=((0, 4), (0, 1), (0, 3), (0, 9), (0, 3), (0, 5)), contiguous=False), View(shape=(4, 1, 44, 28), strides=(864, 0, 24, 1), offset=0, mask=((0, 4), (0, 1), (0, 36), (0, 24)), contiguous=False), View(shape=(4, 1, 4, 11, 4, 7), strides=(1232, 0, 308, 28, 7, 1), offset=0, mask=None, contiguous=True))))
   4   11    7    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   4   11    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    4    4    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  11    4    7    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  11    4    7    4    4
testing ast 86
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 128, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 128), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 128), strides=(0, 1, 128), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128  128
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
 128    4   32
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32    4   32    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    4   32    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  16    4    4    8    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16    4    4    4    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16    4    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    4    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    4    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    4    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    4    4    2    8    4
testing ast 87
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=3.985969387755102e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 96, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 112, 112), strides=(1204224, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 112, 112), strides=(1204224, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  96    2 12544
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
  96   16    2  784
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  32   16    2  784    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16    2  784    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8)]
  16   16    8    2   98    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16   16    8   98    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   16    8   98    3    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   16    8   98    3    2    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    8   98    3    2    2    4    2    2
testing ast 88
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 1, 1, 1, 5, 5, 3, 4), strides=(300, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 1, 1, 1, 5, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 1, 1, 1, 5, 5, 3, 4), strides=(0, 5, 0, 0, 0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 1, 1, 1, 5, 5, 3, 4), strides=(180, 60, 0, 0, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   2    5   60    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
   2    5   64    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   64    3    5
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  64    3    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4    3    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    4    3    5    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
   4    2    3    5    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    3    5    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    3    5    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    3    5    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 89
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ NEG 
  3    ┃ ┗━┳ MAX (1, 1)
  4    ┃   ┗━┳ NEG 
  5    ┃     ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 3), strides=(3, 1), offset=0, mask=None, contiguous=True),)))
  6    ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
 135
testing ast 90
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 1, 1, 1), strides=(25088, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 512, 7, 7, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 256, 1, 1), strides=(50176, 0, 0, 28, 2, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 256, 1, 1), strides=(0, 0, 256, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  512    7    7  256
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  256    7    7  256    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256    7    7  256    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
 256    7    7  256    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128    7    7  256    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 128    7  256    2    2    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    7  256    2    2    2    7    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 256, 1, 1), strides=(50176, 0, 0, 28, 2, 196, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 256, 1, 1), strides=(0, 0, 256, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(2, 1, 512, 7, 7, 1, 1, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 512, 7, 7, 1, 1, 1), strides=(25088, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
COMPILE FAILED!!
testing ast 91
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 7, 1, 1, 1, 1, 1, 4, 2, 1), strides=(0, 56, 8, 0, 0, 0, 0, 0, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 7, 1, 1, 1, 1, 1, 4, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 7, 1, 1, 2, 4, 1, 4, 2, 1), strides=(0, 0, 0, 0, 0, 32, 1, 0, 4, 16, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 7, 1, 8), strides=(0, 7, 1, 0, 70), offset=0, mask=((0, 1), (0, 10), (0, 7), (0, 1), (0, 6)), contiguous=False), View(shape=(1, 10, 7, 1, 1, 2, 4, 1, 4, 2, 1), strides=(0, 56, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
  70    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  70    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  70    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  70    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  35    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  35    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
   5    2    4    4    2    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    4    4    2    2    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   5    4    4    2    2    7    2
testing ast 92
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1, 16, 1, 16), strides=(65536, 256, 0, 16, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 256, 1, 16, 1, 16)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 3, 7, 2, 3, 7, 2), strides=(112896, 441, 3, 63, 0, 1, 9, 0), offset=0, mask=((0, 2), (0, 256), (0, 3), (0, 7), (0, 1), (0, 3), (0, 7), (0, 1)), contiguous=False), View(shape=(2, 256, 3, 17, 3, 17), strides=(451584, 1764, 588, 42, 14, 1), offset=0, mask=((0, 2), (0, 256), (0, 3), (0, 14), (0, 3), (0, 14)), contiguous=False), View(shape=(2, 256, 64, 64), strides=(665856, 2601, 51, 1), offset=0, mask=((0, 2), (0, 256), (0, 51), (0, 51)), contiguous=False), View(shape=(2, 256, 4, 16, 4, 16), strides=(1048576, 4096, 1024, 64, 16, 1), offset=0, mask=None, contiguous=True))))
   2  256   16   16    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8)]
   2  256   16    2    8    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  128   16    2    8    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128   16    2    8    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
 128    2    8   16    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 128    2    8   16    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
 128    2    8    4    4    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 128    2    8    4    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 128    2    4    4    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128    4    4    2    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128    2    4    2    2    2    2    2    4    4    4
testing ast 93
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 5, 1), strides=(5, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (20, 5, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 5, 300), strides=(1500, 300, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.0033333333333333335, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 5, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 100  300
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128  300
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32  300    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16  300    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4  300    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2  300    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4  300    4    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2  300    4    2    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 300    4    2    2    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   75    4    2    2    2    2    2
testing ast 94
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=29568, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 95
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
   4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4
testing ast 96
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 14, 14, 1, 1, 1), strides=(0, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 256, 14, 14, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 14, 14, 128, 1, 1), strides=(0, 0, 0, 56, 2, 784, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 14, 14, 128, 1, 1), strides=(0, 0, 128, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 256   14   14  128
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64   14   14  128    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   14   14  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    7   14    2  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    7   14    2    2  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    7   14    2    2   32    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  16    7    7    2    2   32    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
  16    7    7    2    2   16    2    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
  16    7    7    2   16    2    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    7    7    2    4   16    2    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    7    7    2    4   16    2    4    2    4    2    2    2
testing ast 97
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 8192, 128, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 32, 64, 128, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 4, 130, 4, 258), strides=(0, 32768, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 12), (0, 4), (1, 129), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 0, 2064, 2, 536640, 135192, 259), offset=0, mask=None, contiguous=False))))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 108, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 1, 32, 64, 128, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 4, 130, 4, 258), strides=(0, 32768, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 12), (0, 4), (1, 129), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 0, 2064, 2, 536640, 135192, 259), offset=0, mask=None, contiguous=False))))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 108, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   64  128   12    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  32    4  128   16   12    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32    4   64   16   12    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   64   16   12    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32   64   16   12    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   64   16    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   64   16    2    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   32   16    2    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16   16   16    2    2    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  16   16    2    2    2    8    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   16    2    2    2    8    2    3    3    2    4    3    4    2
testing ast 98
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 5, 1, 1, 1, 1, 1, 1, 6, 5, 3, 4), strides=(1800, 360, 0, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 5, 1, 1, 1, 1, 1, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 5, 1, 3, 1, 1, 1, 1, 6, 5, 3, 4), strides=(0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 5, 1, 3, 1, 1, 1, 1, 6, 5, 3, 4), strides=(1080, 0, 0, 360, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   2    5  360    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   2    5   45    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   45    8    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  45    8    3    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  45    8    5    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  45    2    5    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 99
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 9, 6, 3, 2), strides=(972, 0, 324, 0, 36, 6, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 9, 6, 3, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 9, 6, 3, 2), strides=(0, 0, 6, 18, 0, 0, 2, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 9, 6, 3, 2), strides=(324, 0, 0, 54, 6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3   54    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    3   54    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   54    6    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   3   54    2    3    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   3   18    2    3    6    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   3    9    2    3    6    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   3    3    2    3    6    2    2    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   3    3    3    6    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 100
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 2048, 0, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 96, 1, 32, 64, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 4, 66, 4, 130), strides=(0, 8192, 0, 128, 0, 1), offset=-129, mask=((0, 1), (0, 96), (0, 4), (1, 65), (0, 4), (1, 129)), contiguous=False), View(shape=(1, 96, 1, 32, 64, 1, 3, 3), strides=(0, 137280, 0, 1040, 2, 0, 34840, 131), offset=0, mask=None, contiguous=False))))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 96, 1, 32, 64, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 4, 66, 4, 130), strides=(0, 8192, 0, 128, 0, 1), offset=-129, mask=((0, 1), (0, 96), (0, 4), (1, 65), (0, 4), (1, 129)), contiguous=False), View(shape=(1, 96, 1, 32, 64, 1, 3, 3), strides=(0, 137280, 0, 1040, 2, 0, 34840, 131), offset=0, mask=None, contiguous=False))))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  96   32   64    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  96    2   64   16    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  96    2   64    8    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  96   64    8    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  96   64    8    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
  96   64    2    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  48   64    2    2    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  16   64    2    2    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16   32    2    2    2    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  16    2    2    2    2   16    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
  16    2    2    2   16    2    3    2    2    3    4    3
testing ast 101
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 8), strides=(0, 8, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 8)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 8, 8), strides=(8, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 8, 8), strides=(8, 1, 0), offset=0, mask=None, contiguous=False),)))
   8    8    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    8    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    2    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    2    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    8    4    2    2
testing ast 102
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 1, 1, 1), strides=(0, 0, 960, 120, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 64, 8, 120, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 64, 3, 3), strides=(0, 0, 0, 122, 1, 1220, 122, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=-0.1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ ADD 
 14      ┃   ┣━┳ SUM (1, 1, 64, 8, 120, 1, 1, 1)
 15      ┃   ┃ ┗━┳ MUL 
 16      ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 64, 3, 3), strides=(0, 0, 0, 122, 1, 1220, 122, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
 18      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 8, 120, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64    8  120   64    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  64    8   15    8   64    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64    4   15    8   64    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  64   15    8   64    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   15    8   16    3    3    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  64   15    8   16    3    2    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  64   15    4    2   16    3    2    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   15    2    2   16    3    2    4    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  64   15    2    2   16    3    2    4    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64   15    2    2    8    2    3    2    4    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16   15    2    2    4    8    2    3    2    4    4    3    2
testing ast 103
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=3.985969387755102e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 16, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 112, 112), strides=(200704, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 112, 112), strides=(200704, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  16    2 12544
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256)]
  16  256    2   49
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  256    2   49    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256    2   49    2    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64    2   49    2    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  64   49    2    8    4    2
testing ast 104
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 9, 1, 1, 1, 4, 1, 1, 1, 1), strides=(252, 36, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 7, 9, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 4, 9, 4, 11), strides=(324, 0, 0, 1, 0, 36, 0, 4), offset=-4, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 4), (0, 9), (0, 4), (1, 10)), contiguous=False), View(shape=(2, 7, 9, 1, 1, 1, 4, 1, 4, 3, 3), strides=(6336, 44, 1, 0, 0, 0, 0, 0, 1584, 440, 12), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 9, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   2    7    9    4    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2    7    9    2    2    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    9    2    2    4    3    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    2    2    4    3    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9    2    2    4    3    7    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    2    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    3    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    3    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    3    2    2    3    7    2    3    4
testing ast 105
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 11), strides=(11, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 1, 1, 11)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 5, 12), strides=(35, 0, 1, 5), offset=0, mask=((0, 8), (0, 1), (0, 5), (0, 7)), contiguous=False), View(shape=(8, 1, 66), strides=(60, 0, 1), offset=0, mask=((0, 8), (0, 1), (0, 60)), contiguous=False), View(shape=(8, 1, 6, 11), strides=(66, 0, 11, 1), offset=0, mask=None, contiguous=True))))
   8   11    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   11    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    4    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    6    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    2    4    6
testing ast 106
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 10, 1, 1, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 240, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 240, 1, 1), strides=(0, 0, 1, 0, 0, 10, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  8    ┗━┳ DIV 
  9      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10      ┗━┳ ADD 
 11        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━┳ EXP2 
 13          ┗━┳ MUL 
 14            ┣━┳ ADD 
 15            ┃ ┣━┳ SUM (1, 1, 10, 1, 1, 1, 1, 1)
 16            ┃ ┃ ┗━┳ MUL 
 17            ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 240, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18            ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 240, 1, 1), strides=(0, 0, 1, 0, 0, 10, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 20            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 10, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  10  240
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  10    8   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    8   30    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   30    2    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2   30    2    5    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  30    2    5    4    2
testing ast 107
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 8, 6), strides=(96, 48, 0, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 8, 6), strides=(16, 8, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (2, 2, 1, 8, 6)
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 9, 8, 6), strides=(864, 432, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
   4    8    6    9
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    8    6    9    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    6    9    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   6    8    9    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   2    8    9    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2    2    9    2    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    9    2    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    2    2    3    4    2    2
testing ast 108
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 77, 64, 1), strides=(0, 4928, 64, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 12, 77, 64, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 77, 64, 77), strides=(0, 5929, 77, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 77, 64, 77), strides=(0, 64, 0, 1, 768), offset=0, mask=None, contiguous=False),)))
  12   77   64   77
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  12   77   16    4   77
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  12   77   16    2   77    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  12   77   16   77    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  12   77    2    8   77    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   6   77    2    8    2   77    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
   6   77    2    2    2   77    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   6   77    2    2   77    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   6   77    2   77    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2   77    2    3   77    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  77    2    3   77    2    2    4    2    2    2
testing ast 109
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 128, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPLT 
  5      ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
  7      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(115200, 900, 30, 1), offset=31, mask=None, contiguous=False),)))
 128    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   8   16    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   16    2   28   28    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2   28   28    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 110
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 4, 4, 4, 1), strides=(64, 16, 4, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 4, 4, 4, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 4, 4, 4, 4), strides=(256, 64, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 256    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    2    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   8    2    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    2    4    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
testing ast 111
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 10, 6, 1, 1, 2, 4, 1, 1, 1, 1), strides=(480, 48, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 10, 6, 1, 1, 2, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 10, 6, 1, 1, 2, 4, 1, 4, 2, 2), strides=(308, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 10, 6, 1, 1, 2, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 64, 1, 0, 4, 32, 16), offset=0, mask=None, contiguous=False),)))
   4   10    6    2    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   10    6    2    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   4   10    6    2    4    2    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    6    2    4    2    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10    6    2    4    2    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  10    2    2    4    2    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  10    2    2    2    2    4    4    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    2    2    2    2    2    4    4    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    2    2    2    4    4    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 112
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 9, 5, 3, 1, 1, 1, 1, 4, 3, 3), strides=(4860, 540, 108, 36, 0, 0, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 9, 5, 3, 1, 1, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 9, 5, 3, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 144, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 9, 5, 3, 1, 1, 4, 1, 4, 3, 3), strides=(270, 5, 1, 90, 0, 0, 45, 0, 0, 0, 0), offset=0, mask=((0, 4), (0, 9), (0, 5), (0, 3), (0, 1), (0, 1), (0, 2), (0, 1), (0, 4), (0, 3), (0, 3)), contiguous=False),)))
   4   45    3    4    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   45    3    4    9    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  45    3    4    9    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  45    3    9    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
  45    3    3    4    4    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  45    3    3    2    4    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  15    3    3    2    4    2    2    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  15    3    3    4    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3    3    3    4    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    3    3    4    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   5    3    3    3    4    2    2    3    2    3    2
testing ast 113
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=21120, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 114
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 320, 1), strides=(0, 320, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 77, 320, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 320, 768), strides=(0, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 320, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),)))
  77  320  768
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
  77  320  256    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  77  160  256    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  77   80  256    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96   80  256    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  96   20  256    3    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24   20  256    3    2    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  24   10  256    3    2    2    4    4    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 320, 768), strides=(0, 768, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 320, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 77, 320, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 320, 1), strides=(0, 320, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
COMPILE FAILED!!
testing ast 115
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 8, 4, 1, 1, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 1024, 32, 4, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  4      ┗━┳ MUL 
  5        ┣━┳ CAST (dtypes.float, False)
  6        ┃ ┗━┳ CMPLT 
  7        ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 32, 1, 4096, 1024, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━┳ ADD 
 10          ┣━┳ MUL 
 11          ┃ ┣━┳ ADD 
 12          ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 32, 1, 4096, 1024, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13          ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15          ┗━┳ MUL 
 16            ┣━┳ ADD 
 17            ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 32, 1, 4096, 1024, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18            ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 8, 4, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8 1024    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1024    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  128    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8   32    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   32    4    8    4
testing ast 116
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 1, 110, 1, 28), strides=(6160, 3080, 0, 28, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 1, 110, 1, 28)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 5, 53, 2, 5, 12, 2), strides=(31800, 15900, 5, 300, 0, 1, 25, 0), offset=0, mask=((0, 32), (0, 2), (0, 5), (0, 53), (0, 1), (0, 5), (0, 12), (0, 1)), contiguous=False), View(shape=(32, 2, 5, 111, 5, 29), strides=(127200, 63600, 12720, 120, 24, 1), offset=0, mask=((0, 32), (0, 2), (0, 5), (0, 106), (0, 5), (0, 24)), contiguous=False), View(shape=(32, 2, 660, 168), strides=(160950, 80475, 145, 1), offset=0, mask=((0, 32), (0, 2), (0, 555), (0, 145)), contiguous=False), View(shape=(32, 2, 6, 110, 6, 28), strides=(221760, 110880, 18480, 168, 28, 1), offset=0, mask=None, contiguous=True))))
  32    2  110   28    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  32    2  110   14    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32  110   14    6    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4  110   14    8    6    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4  110   14    8    6    2    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7)]
   4  110    2    8    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   4  110    2    4    2    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4  110    4    2    2    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   55    4    2    2    2    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   4   55    2    2    2    4    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   4   64    2    2    2    4    6    2    2    6    7
testing ast 117
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 672, 1, 14, 14, 1, 1), strides=(131712, 0, 196, 0, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 672, 1, 14, 14, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 672, 112, 14, 14, 1, 1), strides=(0, 0, 1, 672, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 672, 112, 14, 14, 1, 1), strides=(21952, 0, 0, 196, 14, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  672  196  112
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2  672  196    8   14
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2  224  196    8   14    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 224  196    8   14    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 224  196    2   14    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 224   49    2   14    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  56   49    4    2   14    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  56   49    4   14    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64   49    4   14    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  64   49    2    2   14    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  64   49    2    2   14    3    2    4    4    2
testing ast 118
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
   5
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5
testing ast 119
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 1, 3), strides=(216, 24, 3, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 9, 8, 1, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6, 3), strides=(0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6, 3), strides=(432, 48, 6, 1, 0), offset=0, mask=None, contiguous=False),)))
 216    3    6
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 224    3    6
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 112    3    6    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 112    6    2    3
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  56    2    6    2    3
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
   8    2    6    2    3    7
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    2    2    3    7    6
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 120
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 7, 1, 1, 1, 4, 1, 1, 1, 1), strides=(196, 28, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 7, 7, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 7, 1, 1, 1, 4, 1, 4, 3, 3), strides=(324, 36, 4, 0, 0, 0, 0, 0, 1, 36, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 7, 7, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   2    7    7    4    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2    7    7    2    2    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    7    2    2    4    3    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    2    2    4    3    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   7    2    2    4    3    7    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   7    2    2    4    7    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   7    2    4    7    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   7    2    4    7    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 121
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 5, 1, 1), strides=(0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 1, 5, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 6), strides=(0, 0, 0, 1), offset=-2, mask=((0, 1), (0, 1), (0, 3), (2, 5)), contiguous=False), View(shape=(1, 1, 1, 5, 1, 2), strides=(0, 0, 0, 1, 0, 7), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 5, 1, 2), strides=(0, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 5, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    2
testing ast 122
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 240, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ ADD 
  9          ┣━┳ MUL 
 10          ┃ ┣━┳ DIV 
 11          ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃ ┃ ┗━┳ ADD 
 13          ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14          ┃ ┃   ┗━┳ EXP2 
 15          ┃ ┃     ┗━┳ MUL 
 16          ┃ ┃       ┣━┳ ADD 
 17          ┃ ┃       ┃ ┣━┳ MUL 
 18          ┃ ┃       ┃ ┃ ┣━┳ MUL 
 19          ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 20          ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 21          ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 22          ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23          ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 24          ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25          ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26          ┃ ┗━┳ ADD 
 27          ┃   ┣━┳ MUL 
 28          ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 29          ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 30          ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 31          ┗━┳ MUL 
 32            ┣━┳ MUL 
 33            ┃ ┣━┳ DIV 
 34            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┗━┳ ADD 
 36            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37            ┃ ┃   ┗━┳ EXP2 
 38            ┃ ┃     ┗━┳ MUL 
 39            ┃ ┃       ┣━┳ ADD 
 40            ┃ ┃       ┃ ┣━┳ MUL 
 41            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 42            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 43            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 44            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 45            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 47            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 49            ┃ ┗━┳ SUB 
 50            ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 51            ┃   ┗━┳ DIV 
 52            ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 53            ┃     ┗━┳ ADD 
 54            ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55            ┃       ┗━┳ EXP2 
 56            ┃         ┗━┳ MUL 
 57            ┃           ┣━┳ ADD 
 58            ┃           ┃ ┣━┳ MUL 
 59            ┃           ┃ ┃ ┣━┳ MUL 
 60            ┃           ┃ ┃ ┃ ┣━┳ SUB 
 61            ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 62            ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 63            ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 64            ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 65            ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66            ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 67            ┗━┳ MUL 
 68              ┣━┳ ADD 
 69              ┃ ┣━┳ MUL 
 70              ┃ ┃ ┣━┳ MUL 
 71              ┃ ┃ ┃ ┣━┳ SUB 
 72              ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 73              ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 74              ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 75              ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 76              ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 77              ┗━┳ ADD 
 78                ┣━┳ MUL 
 79                ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80                ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 81                ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 240    2  196
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 256    2  196
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2  196    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2  196    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2  196    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2  196    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2   49    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
testing ast 123
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 768), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 768)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768), strides=(4608, 1, 6), offset=0, mask=None, contiguous=False),)))
 768    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  24   32    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6   32    2    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2    6    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    6    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2    6    4    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    2    6    4    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    2    2    6    4    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 124
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 64, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 512), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 512), strides=(0, 512, 1), offset=0, mask=None, contiguous=True),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  8    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64  512
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   32  512
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16  512    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16  512    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4  512    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2  512    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2  512    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2  512    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2  512    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4  128    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2  128    2    2    2    2    2    4
testing ast 125
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 4096, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 4096), strides=(0, 16777216, 4096, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 4096), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 4096), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
32768 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
1024   32 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
1024   16 4096    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 512   16 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 512    4    4 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 256    4    4    2 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    4    4    2 1024    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 256    2    4    2 1024    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128    2    4    2 1024    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 128    2    4    2    8  128    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 128    2    2    8  128    2    2    4    2    2    4
testing ast 126
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 11, 1, 7), strides=(0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 12, 3, 8), strides=(0, 300, 3, 30, 1, 6), offset=0, mask=((0, 1), (0, 3), (0, 2), (0, 10), (0, 3), (0, 5)), contiguous=False), View(shape=(1, 3, 33, 28), strides=(0, 576, 24, 1), offset=0, mask=((0, 1), (0, 3), (0, 24), (0, 24)), contiguous=False), View(shape=(1, 3, 3, 11, 4, 7), strides=(0, 924, 308, 28, 7, 1), offset=0, mask=None, contiguous=True))))
   3   11    7    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  11    7    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    3    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    4    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  11    3    7    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    7    3    4    3
testing ast 127
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ ADD 
  4    ┃   ┣━┳ SUM (2, 1)
  5    ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 3), strides=(0, 0), offset=0, mask=((0, 3), (1, 3)), contiguous=False), View(shape=(2, 2), strides=(1, 4), offset=0, mask=None, contiguous=False))))
  6    ┃   ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 128
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 64, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1280), strides=(0, 1, 64), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.00078125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 1280
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   32 1280
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16 1280    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16 1280    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4 1280    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2 1280    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2 1280    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2 1280    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 1280    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4  320    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2  320    2    2    2    2    2    4
testing ast 129
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 5, 1, 1), strides=(220, 110, 5, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 22, 5, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 5, 5, 5), strides=(6160, 3080, 140, 5, 28, 1), offset=0, mask=None, contiguous=False),)))
1408    5    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 704    5    5    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 704    5    5    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 352    2    5    5    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 352    2    5    2    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 352    2    2    5    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 130
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 26, 3, 3, 3), strides=(924, 0, 0, 56, 1, 308, 28, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 26, 3, 3, 3), strides=(520, 0, 130, 26, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3    3    3    4    5   26
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   4    3    3    3    4    5   26
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    4    5   26    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    4    5   26    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3    3    5   26    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    5   26    3    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    5   26    3    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 131
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 1, 1, 1, 1, 1, 3, 4), strides=(0, 12, 0, 0, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 1, 1, 1, 1, 1, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 1, 3, 4), strides=(2, 1, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 1, 3, 4), strides=(1800, 0, 0, 0, 0, 0, 0, 4, 1), offset=864, mask=None, contiguous=False),)))
   2   12    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2    3    2
testing ast 132
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 1, 9, 3, 3, 5), strides=(0, 0, 405, 0, 45, 15, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 3, 1, 9, 3, 3, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 6, 9, 3, 3, 5), strides=(0, 0, 15, 45, 0, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 6, 9, 3, 3, 5), strides=(0, 0, 0, 27, 3, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   3   27   15    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   3    9   15    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9   15    6    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9   15    3    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   9    5    3    3    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    5    3    3    3    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3    3    3    3    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    3    3    3    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 133
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 128, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ MUL 
  8            ┣━┳ CAST (dtypes.float, False)
  9            ┃ ┗━┳ CMPLT 
 10            ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 12            ┗━┳ ADD 
 13              ┣━┳ MUL 
 14              ┃ ┣━┳ CAST (dtypes.float, False)
 15              ┃ ┃ ┗━┳ CMPLT 
 16              ┃ ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17              ┃ ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 18              ┃ ┗━┳ ADD 
 19              ┃   ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 14, 2, 14, 2), strides=(25088, 196, 14, 0, 1, 0), offset=0, mask=((0, 2), (0, 128), (0, 14), (0, 1), (0, 14), (0, 1)), contiguous=False), View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True))))
 20              ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(115200, 900, 30, 1), offset=31, mask=None, contiguous=False),)))
 21              ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(115200, 900, 30, 1), offset=31, mask=None, contiguous=False),)))
 128    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   8   16    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   16    2   28   28    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2   28   28    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 134
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 5, 1, 1, 1, 1, 1, 4, 1, 3), strides=(0, 60, 12, 0, 0, 0, 0, 0, 3, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 11, 5, 1, 1, 1, 1, 1, 4, 1, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 5, 1, 1, 2, 4, 1, 4, 1, 3), strides=(0, 0, 0, 0, 0, 48, 1, 0, 4, 0, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 5, 1, 8), strides=(0, 5, 1, 0, 55), offset=0, mask=((0, 1), (0, 11), (0, 5), (0, 1), (0, 6)), contiguous=False), View(shape=(1, 11, 5, 1, 1, 2, 4, 1, 4, 1, 3), strides=(0, 40, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
  55    4    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  55    4    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  55    2    4    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  55    2    3    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  55    3    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    3    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    3    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    2    3    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   2   16    3    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    3    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
testing ast 135
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 4, 1, 1, 1, 1, 1, 4, 1, 1), strides=(0, 16, 4, 0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 4, 1, 1, 1, 1, 1, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 4, 1, 1, 1, 4, 1, 4, 1, 1), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 4, 1, 1, 1, 4, 1, 4, 1, 1), strides=(0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=((0, 1), (0, 3), (0, 4), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 4), (0, 1), (0, 1)), contiguous=False),)))
  12    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   3    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    4    2    2
testing ast 136
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 256, 1, 16, 4, 1, 1, 1, 1), strides=(0, 16384, 0, 64, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 1, 256, 1, 16, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 256, 1, 16, 4, 4, 4, 1, 1), strides=(0, 4096, 0, 16, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 256, 1, 16, 4, 4, 4, 1, 1), strides=(0, 0, 0, 1024, 0, 64, 1, 16, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
  16  256   16    4   16
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  16  256    2    4    8   16
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  256    2    4    8   16    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256    2    4    8   16    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    2    4    8    8    2    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    2    4    8    2    2    8    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 256    2    2    8    2    2    2    8    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    2    8    2    2    2    2    8    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
 256    2    8    2    2    2    8    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    8    2    2    2    2    8    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    4    2    2    2    2    2    8    8    2
testing ast 137
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 1, 10, 1, 10), strides=(25600, 100, 0, 10, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 256, 1, 10, 1, 10)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 6, 2, 4, 6, 2, 4), strides=(1024, 4, 3145728, 2, 0, 524288, 1, 0), offset=0, mask=((0, 512), (0, 256), (0, 6), (0, 2), (0, 1), (0, 6), (0, 2), (0, 1)), contiguous=False), View(shape=(512, 256, 6, 11, 6, 11), strides=(589824, 2304, 384, 48, 8, 1), offset=0, mask=((0, 512), (0, 256), (0, 6), (0, 8), (0, 6), (0, 8)), contiguous=False), View(shape=(512, 256, 70, 70), strides=(1115136, 4356, 66, 1), offset=0, mask=((0, 512), (0, 256), (0, 66), (0, 66)), contiguous=False), View(shape=(512, 256, 7, 10, 7, 10), strides=(1254400, 4900, 700, 70, 10, 1), offset=0, mask=None, contiguous=True))))
 512  256   10   10    7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 512  256   10    5    7    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 512  256   10    7    7    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 512  128   10    2    7    7    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 512  128   10    2    7    2    5    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 512  128    5    2    7    2    5    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 138
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 256, 1, 4, 4), strides=(12582912, 2097152, 4096, 0, 16, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (6, 6, 512, 1, 256, 1, 4, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 256, 64, 4, 4), strides=(98304, 16384, 0, 0, 64, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 256, 64, 4, 4), strides=(3145728, 524288, 1024, 0, 0, 16, 4, 1), offset=0, mask=None, contiguous=False),)))
  36  512  256   16   64
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  36  512   32   16    8   64
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   9  512   32   16    8   64    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   9  512   32   16   64    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   9  512   32   16    4   16    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   9  512   32   16   16    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   9  128   32   16    4   16    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   9  128   32   16    2    2   16    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   9  128   32    8    2    2   16    4    8    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   9  128   32    8    2    2   16    4    8    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   9  128   32    4    2    2    2   16    4    8    4    2
testing ast 139
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 6, 1, 1, 2, 4, 1, 1, 1, 1), strides=(0, 48, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 9, 6, 1, 1, 2, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 6, 1, 1, 2, 4, 1, 4, 3, 2), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 6, 1, 1, 2, 4, 1, 4, 3, 2), strides=(0, 0, 0, 0, 0, 96, 1, 0, 4, 32, 16), offset=0, mask=None, contiguous=False),)))
   9    6    2    4    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   9    3    2    4    4    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   9    2    4    4    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   9    2    4    4    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    2    4    3    2    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    2    4    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    2    4    2    2    3    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3    2    2    2    2    2    3    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    2    2    2    2    3    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    2    2    2    2    3    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    2    2    3    2    2    3    4    3    3
testing ast 140
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 320, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 320    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  80    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    8    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8   49    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5   49    4    2    2    8
testing ast 141
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 192, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 192, 4, 8, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 192, 4, 8, 1152, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 192, 4, 8, 1152, 1, 1), strides=(0, 0, 1152, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 192, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 192, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 192   32 1152
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  48   32 1152    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  24   32 1152    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   8   32    3 1152    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4   32    3    2 1152    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    3    2    2 1152    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   16    3    2    2 1152    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   2   16    3    2 1152    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   16    3 1152    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2    2    3    8 1152    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3    8    2 1152    4    2    2    2    2
testing ast 142
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(4608, 768, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ ADD 
  5    ┃ ┃ ┃ ┣━┳ MUL 
  6    ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(4608, 768, 0, 1), offset=0, mask=None, contiguous=True),)))
 10    ┃ ┃ ┃ ┗━┳ MUL 
 11    ┃ ┃ ┃   ┣━┳ SUB 
 12    ┃ ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(4608, 768, 0, 1), offset=0, mask=None, contiguous=True),)))
 13    ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃ ┗━┳ MUL 
 16    ┃ ┃   ┣━┳ SUB 
 17    ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(4608, 768, 0, 1), offset=0, mask=None, contiguous=True),)))
 18    ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┃   ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 768), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21    ┗━┳ SUM (2, 6, 1, 768)
 22      ┗━┳ MUL 
 23        ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 192, 768), strides=(0, 0, 1, 192), offset=0, mask=None, contiguous=False),)))
 24        ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 192, 768), strides=(1152, 192, 1, 0), offset=0, mask=None, contiguous=False),)))
  12  768  192
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  12  256  192    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   6  256  192    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2  256    3  192    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   64    3  192    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   16    3  192    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    3    2  192    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    3    2    8   24    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  16    3    8   24    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    3    2    8   24    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   8    2    3    8   24    3    2    4    4    2
testing ast 143
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (20, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(21, 39), strides=(0, 0), offset=0, mask=((0, 21), (19, 39)), contiguous=False), View(shape=(20, 20), strides=(1, 40), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  20   20
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   5   20    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20    4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    5    4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    4    5    4
testing ast 144
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 2, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 2, 2, 2), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (1, 2, 2, 2)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(3, 2, 2, 2), strides=(4, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(3, 2, 2, 2), strides=(2, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
   4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    3
testing ast 145
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 1, 1, 1), strides=(1152, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5      ┗━┳ EXP2 
  6        ┗━┳ MUL 
  7          ┣━┳ ADD 
  8          ┃ ┣━┳ SUM (2, 1, 1152, 1, 1, 1, 1, 1)
  9          ┃ ┃ ┗━┳ MUL 
 10          ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 48, 1, 1), strides=(48, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 48, 1, 1), strides=(0, 0, 1, 0, 0, 1152, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13          ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1152   48
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   72   16   48
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2   24   16   48    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  24   16   48    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   8   16    3   48    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    8    3   48    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    8    3   12    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    4    3   12    3    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2    3   12    3    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   8    2    3    4    3    3    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    3    2    4    3    3    2    2    4    2    2
testing ast 146
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 1, 1, 1), strides=(396, 0, 66, 6, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 11, 6, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 3, 1, 2), strides=(231, 0, 0, 7, 1, 77, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 3, 1, 2), strides=(0, 0, 6, 0, 0, 2, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   11    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    6   11    6    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6   11    6    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   6   11    2    3    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   2   11    2    3    3    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2   11    2    3    2    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   11    3    2    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   11    2    2    2    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  11    2    2    2    2    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 147
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=59136, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 148
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 128, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 128    2  784
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
 128    8    2   98
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32    8    2   98    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    8    2   98    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2    2   98    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16    2   98    4    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2   98    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   98    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   98    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   98    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 149
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 8, 1), strides=(32, 8, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 4, 1, 8, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 8, 3), strides=(12, 3, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 8, 3), strides=(96, 8, 0, 1, 32), offset=0, mask=None, contiguous=False),)))
   2    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   2    8    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    3    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    8    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    8    2    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    3    2    2
testing ast 150
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 3, 1, 11, 1), strides=(33, 0, 11, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 1, 3, 1, 11, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 3, 6, 11, 1), strides=(0, 0, 1, 3, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 3, 6, 11, 1), strides=(66, 0, 0, 11, 1, 0), offset=0, mask=None, contiguous=False),)))
   8    3   11    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   8   11    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    6    3    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    3    8    6
testing ast 151
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 3, 1, 1), strides=(576, 9, 3, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 64, 3, 3, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ MUL 
  5      ┃ ┃ ┣━┳ SUB 
  6      ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 3, 2, 2), strides=(2304, 36, 12, 2, 6, 1), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 3, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 3, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9      ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 3, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 3, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   64    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   32    3    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  32   32    3    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32   16    3    2    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   16    3    2    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   16    3    2    2    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16    8    3    2    2    2    2    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
  16    8    3    2    2    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8    3    2    2    2    3    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   8    2    3    2    4    2    2    3    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    3    2    4    2    2    2    3    2    2    2    2
testing ast 152
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 8, 6), strides=(48, 0, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 1, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6), strides=(9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6), strides=(0, 48, 6, 1), offset=0, mask=None, contiguous=False),)))
   3   48    9
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   3    3   16    9
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3   16    9    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    9    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    8    9    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    8    3    3    9
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    3    3    9    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    3    3    9    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    3    3    9    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 153
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (16, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 16), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  16   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    8    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    4    2    2
testing ast 154
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 1), strides=(38016, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384), strides=(0, 384, 1), offset=0, mask=((0, 2), (0, 0), (0, 384)), contiguous=False), View(shape=(2, 99, 384, 1), strides=(38016, 384, 1, 0), offset=0, mask=None, contiguous=True))))
  3    ┗━┳ SUM (2, 99, 384, 1)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 384), strides=(38016, 384, 0, 1), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 384), strides=(0, 0, 384, 1), offset=0, mask=None, contiguous=False),)))
 198  384  384
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
 198  128  384    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  99  128  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128  128  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   32    4  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   32    4    2  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   32    4    2   96    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   32    2    2   96    3    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   16    2    2   96    3    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   16    2    2    4   24    3    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   16    2    2    4   24    3    2    4    2    2    2
testing ast 155
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(4, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.long, False)
  2    ┗━┳ ADD 
  3      ┣━┳ SUM (4, 1)
  4      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(5, 7), strides=(0, 0), offset=0, mask=((0, 5), (3, 7)), contiguous=False), View(shape=(4, 4), strides=(1, 8), offset=0, mask=None, contiguous=False))))
  5      ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4
testing ast 156
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 14, 14, 1, 1, 1), strides=(131712, 196, 0, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 672, 1, 14, 14, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 6, 18, 6, 18), strides=(131712, 196, 0, 14, 0, 1), offset=-30, mask=((0, 2), (0, 672), (0, 6), (2, 16), (0, 6), (2, 16)), contiguous=False), View(shape=(2, 672, 1, 14, 14, 1, 5, 5), strides=(7838208, 11664, 0, 108, 1, 0, 2052, 19), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 14, 14, 1, 5, 5), strides=(0, 25, 0, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
   2  672   14   14    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2  672   14    7    5    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 672   14    7    5    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 672   14    7    5    2    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 224   14    7    5    2    2    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 112   14    7    2    5    2    2    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 112    7    7    2    5    2    2    5    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  56    7    7    2    5    2    2    5    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    7    7    2    5    2    2    5    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    7    7    2    2    5    2    2    5    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4    7    7    2    2    8    5    2    2    5    3    2    2
testing ast 157
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(32, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 240), strides=(7680, 240, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=1.6276041666666666e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64  240
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    8   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    8   30    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8   30    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    8    4    2   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    4    2   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    8    4    2   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    8    4    2   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 158
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ CAST (dtypes.float, False)
 10          ┃ ┗━┳ CMPLT 
 11          ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 13          ┗━┳ ADD 
 14            ┣━┳ MUL 
 15            ┃ ┣━┳ CAST (dtypes.float, False)
 16            ┃ ┃ ┗━┳ CMPLT 
 17            ┃ ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18            ┃ ┃   ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 19            ┃ ┗━┳ ADD 
 20            ┃   ┣━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 7, 2, 7, 2), strides=(12544, 49, 7, 0, 1, 0), offset=0, mask=((0, 2), (0, 256), (0, 7), (0, 1), (0, 7), (0, 1)), contiguous=False), View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True))))
 21            ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(65536, 256, 16, 1), offset=17, mask=None, contiguous=False),)))
 22            ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(65536, 256, 16, 1), offset=17, mask=None, contiguous=False),)))
 256    2   14   14
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2   14   14    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2   14   14    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32    2   14    4    2   14
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    2    2   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    2   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    2    2    4   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    2   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2    2    2    4   14    4    2   14    2
testing ast 159
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 7, 7, 1, 1, 1), strides=(62720, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1280, 7, 7, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 7, 7, 320, 1, 1), strides=(15680, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 7, 7, 320, 1, 1), strides=(0, 0, 320, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1280   49  320
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   2 1280   49   16   20
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  640   49   16   20    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 640   49   16   20    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
 640   64   16   20    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 320   64    2   16   20    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 320   64    2    4   20    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 320   64    2    4    5    2    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 320   16    2    4    5    2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 320    8    2    2    4    5    2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 320    4    2    2    2    4    5    2    2    4    4    4
testing ast 160
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 320, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 320    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  80    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    8    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8   49    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5   49    4    2    2    8
testing ast 161
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 3, 3), strides=(0, 0, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 5, 1, 3, 3), strides=(77, 0, 0, 7, 1, 0, 7, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 5, 1, 3, 3), strides=(270, 0, 45, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    3    3    4    9    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    3    3    3    4    9    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    3    3    4    9    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    4    9    5    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   3    3    4    9    3    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    4    9    3    2    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    4    9    3    2    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 162
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 11, 1, 11, 1, 11), strides=(0, 1331, 0, 121, 0, 11, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4, 1, 11, 1, 11, 1, 11)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 3, 12, 3, 12, 3, 12), strides=(0, 19683, 9, 2187, 3, 243, 1, 27), offset=0, mask=((0, 1), (0, 4), (0, 3), (0, 9), (0, 3), (0, 9), (0, 3), (0, 9)), contiguous=False), View(shape=(1, 4, 44, 44, 44), strides=(0, 46656, 1296, 36, 1), offset=0, mask=((0, 1), (0, 4), (0, 36), (0, 36), (0, 36)), contiguous=False), View(shape=(1, 4, 4, 11, 4, 11, 4, 11), strides=(0, 85184, 21296, 1936, 484, 44, 11, 1), offset=0, mask=None, contiguous=True))))
   4   11   11   11    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   11   11   11    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11   11   11    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4)]
  11   11   11    4    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  11   11   11    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11   11   11    2    2    4    4    4
testing ast 163
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=18816, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 164
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 240, 1), strides=(7680, 240, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 32, 240, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 240, 256), strides=(1966080, 61440, 256, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 240, 256), strides=(32, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 240, 256), strides=(1966080, 61440, 256, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 240, 256), strides=(32, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  64  240  256
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64  240    4   64
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16  240    4   64    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  240    4   64    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8  240    4   16    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8  240   16    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8  120    2   16    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8   60    2   16    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8   30    2    2   16    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8   30    2    2    8    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   30    2    2    4    8    2    4    2    4    4    2
testing ast 165
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 1, 10, 2), strides=(0, 0, 20, 0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 3, 1, 10, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 6, 10, 2), strides=(0, 0, 2, 6, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 6, 10, 2), strides=(0, 0, 0, 10, 1, 0), offset=0, mask=None, contiguous=False),)))
   3   10    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3   10    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    2    6    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  10    6    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    2    6    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    2    3    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    3    2    6    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 166
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5      ┗━┳ EXP2 
  6        ┗━┳ MUL 
  7          ┣━┳ ADD 
  8          ┃ ┣━┳ SUM (1, 1, 240, 1, 1, 1, 1, 1)
  9          ┃ ┃ ┗━┳ MUL 
 10          ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 10, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 10, 1, 1), strides=(0, 0, 10, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 12          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 13          ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 240   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  80   10    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40   10    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    8   10    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8    3    2   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5    2    3    2   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 167
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 256, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 4096), strides=(0, 4096, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.000244140625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   8   32 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4   32 4096    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32 4096    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4 4096    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2 4096    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2 4096    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2 1024    2    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    2    8  128    2    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8  128    2    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    2    8    4   32    2    4    2    4    4
testing ast 168
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 128, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1, 1), strides=(128, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 128   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   4   32   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   32   32    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   32    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2   32    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2    2    2   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2    2    2   32    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 169
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 11, 1, 7), strides=(77, 0, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 2, 12, 2, 8), strides=(240, 0, 2, 24, 1, 4), offset=0, mask=((0, 4), (0, 1), (0, 2), (0, 10), (0, 2), (0, 6)), contiguous=False), View(shape=(4, 1, 33, 21), strides=(384, 0, 16, 1), offset=0, mask=((0, 4), (0, 1), (0, 24), (0, 16)), contiguous=False), View(shape=(4, 1, 3, 11, 3, 7), strides=(693, 0, 231, 21, 7, 1), offset=0, mask=None, contiguous=True))))
   4   11    7    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   11    7    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    2    3    3    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    2    3    2    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    2    7    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    2    7    3    2    3
testing ast 170
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 6), strides=(0, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 8, 6), strides=(8, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 8, 6), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8    6    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    6    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    3    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    6    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    6    2    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    2    3    2    2
testing ast 171
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 11, 1, 7), strides=(0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 3, 12, 2, 8), strides=(0, 324, 2, 36, 1, 6), offset=0, mask=((0, 1), (0, 3), (0, 3), (0, 9), (0, 2), (0, 6)), contiguous=False), View(shape=(1, 3, 44, 21), strides=(0, 576, 16, 1), offset=0, mask=((0, 1), (0, 3), (0, 36), (0, 16)), contiguous=False), View(shape=(1, 3, 4, 11, 3, 7), strides=(0, 924, 231, 21, 7, 1), offset=0, mask=None, contiguous=True))))
   3   11    7    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  11    7    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    4    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    4    3    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  11    3    7    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    7    3    4    3
testing ast 172
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 16, 1, 1), strides=(16384, 256, 16, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (500, 64, 16, 16, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 16, 2, 2), strides=(65536, 1024, 64, 2, 32, 1), offset=0, mask=None, contiguous=False),)))
512000   16    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
64000   16    8    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
64000   16    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
64000   16    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
64000    2    8    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
32000    2    8    2    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
32000    2    8    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
32000    2    8    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
32000    2    4    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
32000    2    2    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
32000    2    4    2    4    2    2    2    2
testing ast 173
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 3, 5), strides=(0, 0, 15, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 3, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 3, 1, 3, 5), strides=(77, 0, 0, 7, 1, 0, 7, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 3, 1, 3, 5), strides=(162, 0, 27, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    3    5    4    9    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    3    5    3    4    9    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    5    3    4    9    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    3    4    9    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   5    3    4    9    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    4    9    3    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    9    3    2    3    3    4
testing ast 174
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 1, 256), strides=(256, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (256, 1, 256)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 256), strides=(0, 1, 256), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 256), strides=(256, 1, 0), offset=0, mask=None, contiguous=False),)))
 256  256  256
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256   64  256    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128   64  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   16    4  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   16    4    2  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   16    4    2   64    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   16    2    2   64    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64    8    2    2   64    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    8    2    2    8    8    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  64    8    2    8    8    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64    2    8    8    8    4    2    4    2    2    2
testing ast 175
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=-3.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 3), strides=(0, 0), offset=0, mask=((0, 3), (1, 3)), contiguous=False), View(shape=(2, 2), strides=(1, 4), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=13.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 176
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ SUB 
  3    ┃ ┣━━ CONST ConstBuffer(val=51864.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ MAX (2, 1)
  5    ┃   ┗━┳ MUL 
  6    ┃     ┣━┳ CAST (dtypes.int, False)
  7    ┃     ┃ ┗━┳ CMPEQ 
  8    ┃     ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 51864), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃     ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 51864), strides=(5134536, 1), offset=5082672, mask=None, contiguous=False),)))
 10    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 51864), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
 11    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2 51864
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
51864    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
12966    2    4
testing ast 177
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  4    ┃ ┗━┳ ADD 
  5    ┃   ┣━┳ SUM (1, 16, 1)
  6    ┃   ┃ ┗━┳ MUL 
  7    ┃   ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 16), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃   ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 16), strides=(0, 16, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
 10    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    8    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    4    2    2
testing ast 178
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━┳ ADD 
  6    ┃     ┣━┳ SUM (2, 1)
  7    ┃     ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 3), strides=(0, 0), offset=0, mask=((0, 3), (1, 3)), contiguous=False), View(shape=(2, 2), strides=(1, 4), offset=0, mask=None, contiguous=False))))
  8    ┃     ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┗━┳ MUL 
 10      ┣━┳ SIN 
 11      ┃ ┗━┳ SUB 
 12      ┃   ┣━━ CONST ConstBuffer(val=1.5707963267948966, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False))))
 13      ┃   ┗━┳ MUL 
 14      ┃     ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False),)))
 15      ┃     ┗━━ CONST ConstBuffer(val=6.283185307179586, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False))))
 16      ┗━┳ SQRT 
 17        ┗━┳ MUL 
 18          ┣━┳ MUL 
 19          ┃ ┣━┳ LOG2 
 20          ┃ ┃ ┗━┳ SUB 
 21          ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False))))
 22          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3), strides=(3, 1), offset=6, mask=None, contiguous=False), View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False))))
 23          ┃ ┗━━ CONST ConstBuffer(val=0.6931471805599453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False))))
 24          ┗━━ CONST ConstBuffer(val=-2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(2, 1), strides=(3, 0), offset=1, mask=None, contiguous=False))))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 179
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ LOG2 
  3    ┃ ┗━┳ SUM (10, 10, 1)
  4    ┃   ┗━┳ EXP2 
  5    ┃     ┗━┳ MUL 
  6    ┃       ┣━┳ SUB 
  7    ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(100, 10, 1), offset=0, mask=None, contiguous=True),)))
  8    ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(10, 1, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃       ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=0.6931471805599453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 100   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   10    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   10    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    8   10    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    8    4    2   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 180
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 1, 512, 4, 4, 1, 1, 1), strides=(8192, 0, 16, 4, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (500, 1, 512, 4, 4, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 6, 4, 6), strides=(8192, 16, 0, 4, 0, 1), offset=-5, mask=((0, 500), (0, 512), (0, 4), (1, 5), (0, 4), (1, 5)), contiguous=False), View(shape=(500, 1, 512, 4, 4, 512, 3, 3), strides=(294912, 0, 0, 24, 1, 576, 168, 7), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 1, 512, 4, 4, 512, 3, 3), strides=(0, 0, 4608, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 500  512    4    4  512    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
 500   32    4    4   16  512    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 500   16    4    4   16  512    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 500   16    4   16  512    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
 500   16    4   16   16   32    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 500   16    4   16   32    3    3    2    4   16
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
 500   16    4    8    2   32    3    3    2    4   16
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 500   16    2    8    2    2   32    3    3    2    4   16
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 500    8    2    8    2    2   32    3    3    2    4   16    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 500    8    2    8    2    2    4    8    3    3    2    4   16    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
 500    8    2    4    2    2    2    4    8    3    3    2    4   16    2
testing ast 181
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 28, 28, 1, 1), strides=(0, 784, 28, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ SUM (1, 24, 28, 28, 1, 1)
  4    ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 4, 58, 4, 58), strides=(0, 3136, 0, 56, 0, 1), offset=-57, mask=((0, 1), (0, 24), (0, 4), (1, 57), (0, 4), (1, 57)), contiguous=False), View(shape=(1, 24, 28, 28, 3, 3), strides=(0, 53824, 464, 2, 13688, 59), offset=0, mask=None, contiguous=False))))
  5    ┃ ┗━━ CONST ConstBuffer(val=0.1111111111111111, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 28, 28, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━┳ MUL 
  7      ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 28, 28, 1, 1), strides=(0, 784, 28, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  8      ┗━━ CONST ConstBuffer(val=0.1111111111111111, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 28, 28, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  24   28   28    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  24   32   28    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8   32   28    3    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   28    3    3    3    8
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4   28    8    3    3    3    8
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4   28    8    3    3    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4   28    8    3    8    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  28    8    4    3    8    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  28    8    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  28    4    2    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  28    2    2    2    2    2    3    8    3    3
testing ast 182
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 4, 3, 3), strides=(0, 0, 36, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 7, 4, 3, 3), strides=(324, 0, 0, 9, 1, 81, 9, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 7, 4, 3, 3), strides=(196, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    3    3    2    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    2    2    7    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2    7    7    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    2    2    7    2    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    2    2    7    2    4    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 183
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 8, 16, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━┳ EXP2 
  5        ┃ ┗━┳ MUL 
  6        ┃   ┣━┳ SUB 
  7        ┃   ┃ ┣━┳ MUL 
  8        ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
  9        ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10        ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━┳ ADD 
 13          ┣━┳ DIV 
 14          ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
 15          ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 16          ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256    4   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   16    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    8    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   16    2    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    2    2    4    4    4    2    2
testing ast 184
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 65, 85), strides=(0, 85, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.022222222222222223, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 65, 85), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (1, 65, 85)
  4      ┗━┳ NEG 
  5        ┗━┳ ADD 
  6          ┣━┳ MUL 
  7          ┃ ┣━┳ SUB 
  8          ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65, 85), strides=(5525, 85, 1), offset=0, mask=None, contiguous=True),)))
  9          ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65, 85), strides=(0, 85, 1), offset=0, mask=None, contiguous=False),)))
 10          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65, 85), strides=(0, 85, 1), offset=0, mask=None, contiguous=False),)))
 11          ┗━┳ MUL 
 12            ┣━┳ SUB 
 13            ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65, 85), strides=(5525, 85, 1), offset=0, mask=None, contiguous=True),)))
 14            ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65, 85), strides=(0, 85, 1), offset=0, mask=None, contiguous=False),)))
 15            ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65, 85), strides=(0, 85, 1), offset=0, mask=None, contiguous=False),)))
5525   45
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=13)]
 425   13   45
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.LOCAL, axis=1, amt=13)]
testing ast 185
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 45, 1, 1, 1, 25, 4, 1, 1, 1, 1), strides=(0, 100, 0, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 45, 1, 1, 1, 25, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 45, 1, 1, 1, 25, 4, 17, 4, 1, 1), strides=(0, 68, 0, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 45, 1, 1, 1, 25, 4, 17, 4, 1, 1), strides=(0, 0, 0, 0, 0, 272, 1, 16, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
  45   25    4   68
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  45   25    2   68    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  45   25   68    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  45   25    4   17    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  45   25    4    2    2   17
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  15   25    3    4    2    2   17
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5   25    3    4    2    2   17    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 186
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 80, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ SUB 
  5    ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(15680, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  6    ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃   ┗━┳ SUB 
  8    ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(15680, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=0.002551020408163265, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  80    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  20    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  10    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  10    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    2   49    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5   49    4    2    4    2    2
testing ast 187
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 4), strides=(1, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 4), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4
testing ast 188
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(99, 64), strides=(1, 99), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(99, 64), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  64   99
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   16   99
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   16   99    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16   99    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
testing ast 189
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5      ┗━┳ EXP2 
  6        ┗━┳ MUL 
  7          ┣━┳ ADD 
  8          ┃ ┣━┳ SUM (1, 1, 240, 1, 1, 1, 1, 1)
  9          ┃ ┃ ┗━┳ MUL 
 10          ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 10, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 10, 1, 1), strides=(0, 0, 1, 0, 0, 240, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 13          ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 240, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 240   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  80   10    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40   10    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    8   10    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8    3    2   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5    2    3    2   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 190
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 1, 5), strides=(0, 0, 5, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 1, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 3, 1, 1, 5), strides=(77, 0, 0, 7, 1, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 3, 1, 1, 5), strides=(198, 0, 33, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    5    4   11    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   6    5    4   11    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   6    4   11    3    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   11    3    5    6
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   4   11    5    6    3
testing ast 191
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
   2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2
testing ast 192
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 256, 1, 8, 8, 3, 3), strides=(147456, 0, 576, 0, 72, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 1, 256, 1, 8, 8, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 256, 512, 8, 8, 3, 3), strides=(0, 0, 9, 2304, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 2, 4, 2), strides=(32768, 64, 16, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(512, 1, 256, 512, 8, 8, 3, 3), strides=(32768, 0, 0, 64, 8, 1, 0, 0), offset=0, mask=None, contiguous=False))))
 512  256    8    8    9  512
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128  256    8    8    9  512    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 128  256    8    9  512    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
 128  256    8    9  256    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32  256    8    9  256    2    4    8    4
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 256, 512, 8, 8, 3, 3), strides=(0, 0, 9, 2304, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 2, 4, 2), strides=(32768, 64, 16, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(512, 1, 256, 512, 8, 8, 3, 3), strides=(32768, 0, 0, 64, 8, 1, 0, 0), offset=0, mask=None, contiguous=False)))))), arg=None),), arg=(512, 1, 256, 1, 8, 8, 3, 3)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 256, 1, 8, 8, 3, 3), strides=(147456, 0, 576, 0, 72, 9, 3, 1), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
COMPILE FAILED!!
testing ast 193
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1280, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1280, 1)
  2    ┗━┳ MUL 
  3      ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1280, 320), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1280, 320), strides=(0, 320, 1), offset=0, mask=None, contiguous=True),)))
1280  320
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
1280    4   80
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 320    4   80    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 160    4   80    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 160    4    8   10    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 160    4    8    4    2   10
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80    2    4    8    4    2   10
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2    4    8    4    2   10    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  20    2    2    4    8    4    2   10    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    2    2    4    8    4    2   10    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    2    2    4    8    4    2   10    2
testing ast 194
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 1, 64, 32, 32, 1, 1, 1), strides=(65536, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (500, 1, 64, 32, 32, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 32, 4, 34, 4, 34), strides=(32768, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 500), (0, 32), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(500, 1, 64, 32, 32, 32, 3, 3), strides=(591872, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 1, 64, 32, 32, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 500   64   32   32   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 500    8   32   32    8   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 125    8   32   32    8   32    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
 125    8   32   32   32    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128    8   32   32   32    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128    2   32   32    4   32    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
 128    2   32   16    4    2   32    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128   32   16    4    2    2   32    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   16   16    4    2    2   32    3    3    4    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 128    2   16    4    2    2    8   32    3    3    4    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=5, amt=0)]
 128    2   16    4    2    8   32    3    3    4    8    2    2
testing ast 195
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 64, 64, 64, 1, 1, 1, 1), strides=(0, 0, 262144, 4096, 64, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 64, 64, 64, 64, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 32, 2, 32, 2, 32, 2), strides=(0, 32768, 1024, 0, 32, 0, 1, 0), offset=0, mask=((0, 1), (0, 128), (0, 32), (0, 1), (0, 32), (0, 1), (0, 32), (0, 1)), contiguous=False), View(shape=(1, 128, 3, 65, 3, 65, 3, 65), strides=(0, 262144, 0, 4096, 0, 64, 0, 1), offset=-4161, mask=((0, 1), (0, 128), (0, 3), (1, 64), (0, 3), (1, 64), (0, 3), (1, 64)), contiguous=False), View(shape=(1, 1, 64, 64, 64, 64, 128, 2, 2, 2), strides=(0, 0, 0, 38025, 195, 1, 7414875, 2509650, 12870, 66), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 64, 64, 64, 128, 2, 2, 2), strides=(0, 0, 8, 0, 0, 0, 512, -4, -2, -1), offset=7, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 64, 64, 64, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   64   64   64  128    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  64   64   64   16  128    2    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   32   64   16  128    2    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64    8   64   16    4  128    2    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    8   64   16    4    2  128    2    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  32    8   64   16    4    2  128    2    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    8   64   16    4    2  128    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=2)]
   8    8   64   16    2    2  128    2    2    4    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
   8    8    4   16    2    2   16  128    2    2    4    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   8    8    4   16    2    2   16    4   32    2    2    4    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   8    8    4   16    2   16    4   32    2    2    4    2    2    4    2    2
testing ast 196
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 1, 2, 8, 6), strides=(96, 0, 0, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 1, 1, 2, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 1, 2, 8, 6), strides=(0, 2, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 1, 2, 8, 6), strides=(432, 48, 0, 0, 6, 1), offset=0, mask=None, contiguous=False),)))
   3    2   48    9
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   3    2   12    4    9
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3   12    4    9    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  12    4    9    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   3    4    9    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    9    2    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    9    2    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 197
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 6), strides=(0, 256), offset=-513, mask=((0, 4), (3, 6)), contiguous=False), View(shape=(4, 3), strides=(1, 7), offset=0, mask=None, contiguous=False))))
   4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    3
testing ast 198
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 1, 11, 1, 11), strides=(484, 0, 0, 121, 0, 11, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 4, 1, 11, 1, 11)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 3, 12, 3, 12), strides=(2916, 0, 0, 9, 3, 324, 1, 36), offset=0, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 3), (0, 9), (0, 3), (0, 9)), contiguous=False), View(shape=(2, 1, 1, 4, 44, 44), strides=(5184, 0, 0, 1296, 36, 1), offset=0, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 36), (0, 36)), contiguous=False), View(shape=(2, 1, 1, 4, 4, 11, 4, 11), strides=(7744, 0, 0, 1936, 484, 44, 11, 1), offset=0, mask=None, contiguous=True))))
   2    4   11   11    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   11   11    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11   11    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  11   11    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11   11    4    2    4    4
testing ast 199
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(20, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ DIV 
  4    ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃ ┃ ┗━┳ ADD 
  6    ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃   ┗━┳ EXP2 
  8    ┃ ┃     ┗━┳ MUL 
  9    ┃ ┃       ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(20, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10    ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SUM (2, 1, 20, 1, 1, 1, 1, 1)
 12    ┃   ┗━┳ MUL 
 13    ┃     ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 480, 1, 1, 1, 1), strides=(0, 0, 1, 20, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 480, 1, 1, 1, 1), strides=(480, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┗━┳ MUL 
 16      ┣━┳ MUL 
 17      ┃ ┣━┳ DIV 
 18      ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┃ ┗━┳ ADD 
 20      ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃ ┃   ┗━┳ EXP2 
 22      ┃ ┃     ┗━┳ MUL 
 23      ┃ ┃       ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(20, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 24      ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┃ ┗━┳ SUB 
 26      ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27      ┃   ┗━┳ DIV 
 28      ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃     ┗━┳ ADD 
 30      ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃       ┗━┳ EXP2 
 32      ┃         ┗━┳ MUL 
 33      ┃           ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(20, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 34      ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┗━┳ MUL 
 36        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 1, 1, 1), strides=(20, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 37        ┗━┳ SUM (2, 1, 20, 1, 1, 1, 1, 1)
 38          ┗━┳ MUL 
 39            ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 480, 1, 1, 1, 1), strides=(0, 0, 1, 20, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 480, 1, 1, 1, 1), strides=(480, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   20  480
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   20    4  120
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   10    4  120    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4  120    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  10    4    8   15    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  10    4   15    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  10   15    2    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5   15    2    2    8    4    2
testing ast 200
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(327680, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 1280, 16, 16, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1920, 4, 18, 4, 18), strides=(491520, 256, 0, 16, 0, 1), offset=-17, mask=((0, 2), (0, 1920), (0, 4), (1, 17), (0, 4), (1, 17)), contiguous=False), View(shape=(2, 1, 1280, 16, 16, 1920, 3, 3), strides=(9953280, 0, 0, 72, 1, 5184, 1368, 19), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1920, 3, 3), strides=(0, 0, 17280, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1280   16   16 1920    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   80   16   16   16 1920    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
   2   80   16    4   16 1920    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  80   16    4   16 1920    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  80    4   16   16 1920    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  80    4   16   16 1920    3    4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  80    4   16    4 1920    3    4    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  80    4   16    2    2 1920    3    4    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  80    4    8    2    2 1920    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80    4    8    2    2    4  480    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  80    4    4    2    2    2    4  480    3    4    2    3    4    2
testing ast 201
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 1, 1), strides=(480, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 480, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ ADD 
  5    ┃   ┃ ┣━┳ MUL 
  6    ┃   ┃ ┃ ┣━┳ MUL 
  7    ┃   ┃ ┃ ┃ ┣━┳ SUB 
  8    ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(94080, 196, 0, 0, 14, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃   ┗━┳ DIV 
 14    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃     ┗━┳ ADD 
 16    ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃       ┗━┳ EXP2 
 18    ┃         ┗━┳ MUL 
 19    ┃           ┣━┳ ADD 
 20    ┃           ┃ ┣━┳ MUL 
 21    ┃           ┃ ┃ ┣━┳ MUL 
 22    ┃           ┃ ┃ ┃ ┣━┳ SUB 
 23    ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(94080, 196, 0, 0, 14, 1), offset=0, mask=None, contiguous=True),)))
 24    ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25    ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26    ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27    ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28    ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29    ┗━━ CONST ConstBuffer(val=0.00510204081632653, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  480  196
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   30   16  196
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   15   16  196    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  15   16  196    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  15    8    2  196    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5    8    2  196    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    4    2  196    2    2    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5    4  196    2    2    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
testing ast 202
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 64, 64, 64, 1, 1, 1, 1), strides=(0, 0, 262144, 4096, 64, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 64, 64, 64, 64, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 4, 130, 4, 130, 4, 130), strides=(0, 2097152, 0, 16384, 0, 128, 0, 1), offset=-16513, mask=((0, 1), (0, 32), (0, 4), (1, 129), (0, 4), (1, 129), (0, 4), (1, 129)), contiguous=False), View(shape=(1, 1, 64, 64, 64, 64, 32, 3, 3, 3), strides=(0, 0, 0, 540800, 1040, 2, 140608000, 35422400, 68120, 131), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 64, 64, 64, 32, 3, 3, 3), strides=(0, 0, 864, 0, 0, 0, 27, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  64   64   64   64   32    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  64   64   64   16   32    3    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   32   64   16   32    3    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16   32   64   16    4   32    3    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   32   64   16    4    2   32    3    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   8   32   64   16    4    2   32    3    3    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   32   64   16    4    2   32    3    3    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   32   64   16    4    2    4    8    3    3    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   32   32   16    4    2    4    8    3    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   2   32   32   16    2    4    4    8    3    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   16   32   16    2    4    2    4    8    3    3    4    2    3    4    2
testing ast 203
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 280, 20, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 128, 14, 20, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 4, 16, 4, 22), strides=(0, 280, 0, 20, 0, 1), offset=35819, mask=((0, 1), (0, 128), (0, 4), (1, 15), (0, 4), (1, 21)), contiguous=False), View(shape=(1, 1, 128, 14, 20, 128, 3, 3), strides=(0, 0, 0, 88, 1, 5632, 1496, 23), offset=0, mask=None, contiguous=False))))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 128, 3, 3), strides=(0, 0, 1152, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 13    ┃ ┃   ┗━┳ SQRT 
 14    ┃ ┃     ┗━┳ DIV 
 15    ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃       ┗━┳ ADD 
 17    ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┗━┳ DIV 
 21      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━┳ ADD 
 23        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24        ┗━┳ EXP2 
 25          ┗━┳ MUL 
 26            ┣━┳ ADD 
 27            ┃ ┣━┳ MUL 
 28            ┃ ┃ ┣━┳ MUL 
 29            ┃ ┃ ┃ ┣━┳ SUB 
 30            ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 128, 14, 20, 1, 1, 1)
 31            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 32            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 4, 16, 4, 22), strides=(0, 280, 0, 20, 0, 1), offset=35819, mask=((0, 1), (0, 128), (0, 4), (1, 15), (0, 4), (1, 21)), contiguous=False), View(shape=(1, 1, 128, 14, 20, 128, 3, 3), strides=(0, 0, 0, 88, 1, 5632, 1496, 23), offset=0, mask=None, contiguous=False))))
 33            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 128, 3, 3), strides=(0, 0, 1152, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 37            ┃ ┃   ┗━┳ SQRT 
 38            ┃ ┃     ┗━┳ DIV 
 39            ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━┳ ADD 
 41            ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128   14   20  128    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
 128   14   20    4   32    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   14   20    4   32    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   14   20    4   32    3    3    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16   14   20    4    8    4    3    3    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16   14   20    4    8    3    3    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16   14   20    4    3    3    4    2    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4   14   20    4    4    3    3    4    2    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4   14   10    4    2    4    3    3    4    2    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  14   10    4    2    4    4    3    3    4    2    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  14   10    2    2    4    2    4    3    3    4    2    4    8
testing ast 204
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1), strides=(0, 0, 0, 0, 0, 64, 16, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 4, 4, 4, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 1, 1, 4, 4, 4, 4, 1, 1), strides=(0, 512, 16, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 1, 1, 4, 4, 4, 4, 1, 1), strides=(0, 32, 1, 0, 0, 4096, 1024, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   16 1024
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  16    4 1024    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  16 1024    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8  128    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    8   32    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 205
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ SUB 
  3    ┃ ┣━━ CONST ConstBuffer(val=10.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ MAX (1, 20)
  5    ┃   ┗━┳ MUL 
  6    ┃     ┣━┳ CAST (dtypes.int, False)
  7    ┃     ┃ ┗━┳ CMPEQ 
  8    ┃     ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
  9    ┃     ┃   ┗━┳ NEG 
 10    ┃     ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(20, 1), offset=0, mask=None, contiguous=True),)))
 11    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 20), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 12    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  20   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   10    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    8
testing ast 206
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 1, 1), strides=(1024, 16, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (500, 64, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 1, 16), strides=(16384, 256, 16, 0, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 1, 16), strides=(0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 1, 16), strides=(16384, 256, 16, 0, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 16, 1, 16), strides=(0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 500   64   16   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
 500   64   16    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 125   64   16    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 125   32   16    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 125   16   16    2    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 125   16   16    2    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 125    8   16    2    2    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 125    8    8    2    2    4    4    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 125    8    4    2    2    4    4    2    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 125    4    2    2    8    4    4    2    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128    4    2    2    8    4    4    2    4    2    2
testing ast 207
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 112, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 112, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(21952, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(21952, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 112    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  28    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  14    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  14  196    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
   2  196    4    2    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 196    4    2    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   49    4    2    2    7    2
testing ast 208
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 64, 64, 1, 1, 1), strides=(0, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 512, 64, 64, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 4, 66, 4, 66), strides=(0, 4096, 0, 64, 0, 1), offset=-65, mask=((0, 1), (0, 512), (0, 4), (1, 65), (0, 4), (1, 65)), contiguous=False), View(shape=(1, 1, 512, 64, 64, 512, 3, 3), strides=(0, 0, 0, 264, 1, 69696, 17688, 67), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 64, 64, 512, 3, 3), strides=(0, 0, 4608, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512   64   64  512    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 512   64    4   16  512    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 512   64    2   16  512    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 512   64   16  512    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 512   64   16    8   64    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
 512   64   16    8   64    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 512   64   16    8   64    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128   64   16    8   64    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
 128   64    4    4    8   64    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 128   64    2    4    2    8   64    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 128   64    4    2    2    8   64    2    2    3    3    4
testing ast 209
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 8), strides=(0, 8, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 8, 8)
  3    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 8, 8), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 8), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    2    4    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    4    2    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    4    2    4    2    2    2
testing ast 210
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 96, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  96    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
  96   16    2  196
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  32   16    2  196    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    4    2  196    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16    4  196    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4    2  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    4   49    3    2    4    2    4
testing ast 211
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ ADD 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=0.1464405059814453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ MUL 
  9        ┣━┳ ADD 
 10        ┃ ┣━━ CONST ConstBuffer(val=0.1464405059814453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  24
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  24
testing ast 212
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 5120), strides=(0, 5120, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.0001953125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32 5120
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32 5120
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8 5120    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
5120    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  640    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8  160    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   32    5    4    8    4
testing ast 213
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=3.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 3), strides=(0, 0), offset=0, mask=((0, 3), (1, 3)), contiguous=False), View(shape=(2, 2), strides=(1, 4), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 214
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 20, 1, 1, 10, 3, 3), strides=(0, 0, 90, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 20, 1, 1, 10, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 7, 7, 10, 3, 3), strides=(810, 0, 0, 90, 10, 1, 90, 10), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 7, 7, 10, 3, 3), strides=(980, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  20   10    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3)]
  20   10    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  20   10    3    2    7    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  20   10    2    7    7    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  20   10    2    7    3    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  20   10    7    3    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  20    5    7    3    3    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  10    5    2    7    3    3    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    5    2    2    7    3    3    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   5    5    2    2    7    3    3    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 215
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 1, 1, 5), strides=(0, 10, 5, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 2, 1, 1, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 7, 1, 5), strides=(0, 11, 0, 1, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 7, 1, 5), strides=(0, 14, 7, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   3    2    5    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    5    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    7    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 216
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 8192, 0, 128, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 32, 1, 64, 128, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 4, 66, 4, 130), strides=(0, 8192, 0, 128, 0, 1), offset=-129, mask=((0, 1), (0, 32), (0, 4), (1, 65), (0, 4), (1, 129)), contiguous=False), View(shape=(1, 32, 1, 64, 128, 1, 3, 3), strides=(0, 137280, 0, 520, 1, 0, 34840, 131), offset=0, mask=None, contiguous=False))))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 32, 1, 64, 128, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 4, 66, 4, 130), strides=(0, 8192, 0, 128, 0, 1), offset=-129, mask=((0, 1), (0, 32), (0, 4), (1, 65), (0, 4), (1, 129)), contiguous=False), View(shape=(1, 32, 1, 64, 128, 1, 3, 3), strides=(0, 137280, 0, 520, 1, 0, 34840, 131), offset=0, mask=None, contiguous=False))))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   64  128    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  64  128   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16  128   32    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  128   32    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8  128   32    3    4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8  128   32    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  128   32    2    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   64   32    2    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   32   32    2    2    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16   32    2    2    2    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   4   16    4    2    2    2    8    4    2    3    3    2
testing ast 217
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 13328, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ MUL 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUB 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 4, 68, 14, 14, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 68, 1, 1), strides=(0, 13328, 0, 14, 1, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 68, 1, 1), strides=(0, 4624, 68, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 68, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 68, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 68, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 68, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 13328, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 16    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 68, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4   68  196   68
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   68   98   68    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  68   98   68    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  68   98   17    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
  68   14   17    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  68    7    2   17    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 218
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 3, 1, 6, 5, 3, 4), strides=(0, 0, 0, 0, 0, 0, 360, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 3, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 3, 1, 6, 5, 3, 4), strides=(3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 3, 1, 6, 5, 3, 4), strides=(360, 0, 0, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=1800, mask=None, contiguous=False),)))
   3  360    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
   3  384    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   3  192    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 192    5    2    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  96    2    5    2    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24    2    5    2    3    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6    2    5    2    3    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    5    2    3    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 219
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 5, 1, 1, 1, 4, 1, 1, 1, 1), strides=(0, 20, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 5, 5, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 3, 6, 3, 6), strides=(0, 0, 0, 1, 0, 12, 0, 4), offset=-32, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 3), (2, 5), (0, 3), (2, 5)), contiguous=False), View(shape=(1, 5, 5, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 18, 1, 0, 0, 0, 0, 0, 324, 126, 7), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 5, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 32, 16), offset=0, mask=None, contiguous=False),)))
   5    5    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   5    5    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    4    4    2    2    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    2    2    5    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    2    2    5    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   2    2    4    2    5    5    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    2    5    5    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    5    5    2    2    2
testing ast 220
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=3.985969387755102e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 64, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(802816, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(802816, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  64    2 12544
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256)]
  64  256    2   49
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  256    2   49    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16  256    2   49    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16  256   49    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  256   49    2    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4  256   49    2    2    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256   49    2    2    2    2    2    4
testing ast 221
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 2, 2, 1, 6), strides=(24, 12, 6, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 2, 2, 1, 6), strides=(0, 12, 6, 0, 1), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (3, 2, 2, 1, 6)
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 2, 2, 8, 6), strides=(192, 96, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
   3    4    6    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   4    6    3    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    8    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    8    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   3    8    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3    2    6    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    6    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 222
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 1, 1, 1), strides=(0, 0, 1500, 150, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 64, 10, 150, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 32, 3, 3), strides=(0, 0, 0, 152, 1, 1824, 152, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=-0.1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ ADD 
 14      ┃   ┣━┳ SUM (1, 1, 64, 10, 150, 1, 1, 1)
 15      ┃   ┃ ┗━┳ MUL 
 16      ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 32, 3, 3), strides=(0, 0, 0, 152, 1, 1824, 152, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
 18      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 10, 150, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   10  150   32    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   10  150    4    8    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
  64   10   50    4    8    3    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   10   50    4    8    3    3    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   10   50    8    3    3    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   10   50    2    3    3    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32   10   50    3    3    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  32   10   25    2    3    3    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    5   25    2    2    3    3    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  32    5   25    2    2    3    3    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.PADTO, axis=2, amt=32)]
  32    5   32    2    2    3    3    3    2    4    4    2
testing ast 223
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 11, 1, 7), strides=(0, 0, 0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 4, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 2, 12, 2, 8), strides=(0, 0, 0, 4, 2, 96, 1, 16), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 2), (0, 10), (0, 2), (0, 6)), contiguous=False), View(shape=(1, 1, 1, 4, 33, 21), strides=(0, 0, 0, 384, 16, 1), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 24), (0, 16)), contiguous=False), View(shape=(1, 1, 1, 4, 3, 11, 3, 7), strides=(0, 0, 0, 693, 231, 21, 7, 1), offset=0, mask=None, contiguous=True))))
   4   11    7    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   11    7    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    2    3    3    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    2    3    2    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    2    7    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    2    7    3    2    3
testing ast 224
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 8, 8, 8, 1, 1, 1, 1), strides=(0, 0, 512, 64, 8, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 320, 8, 8, 8, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 4, 2, 4, 2, 4, 2), strides=(0, 64, 16, 0, 4, 0, 1, 0), offset=0, mask=((0, 1), (0, 320), (0, 4), (0, 1), (0, 4), (0, 1), (0, 4), (0, 1)), contiguous=False), View(shape=(1, 320, 3, 9, 3, 9, 3, 9), strides=(0, 512, 0, 64, 0, 8, 0, 1), offset=-73, mask=((0, 1), (0, 320), (0, 3), (1, 8), (0, 3), (1, 8), (0, 3), (1, 8)), contiguous=False), View(shape=(1, 1, 320, 8, 8, 8, 320, 2, 2, 2), strides=(0, 0, 0, 729, 27, 1, 19683, 7290, 270, 10), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 8, 8, 8, 320, 2, 2, 2), strides=(0, 0, 8, 0, 0, 0, 2560, -4, -2, -1), offset=7, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 8, 8, 8, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 320    8    8    8  320    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  80    8    8    8  320    2    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  80    8    8  320    2    2    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  80    8    8   32   10    2    2    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  80    8    8   32   10    2    2    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  80    8    8   32   10    2    4    8    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  80    8    8   32   10    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  80    4    8    2   32   10    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  40    4    8    2    2   32   10    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    4    8    2    2   32   10    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  64    4    8    2    2   32   10    4    8    2    2    2
testing ast 225
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1000, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1280), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1280), strides=(0, 1, 1000), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
1000 1280
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
1000    4  320
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 250    4  320    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 125    4  320    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 125    4    4   80    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 125    4   80    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 125   80    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   80    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  32    4   80    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  32    4    8   10    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    4    8   10    4    2    4    4    2
testing ast 226
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 8, 1, 11, 13, 16), strides=(0, 18304, 2288, 0, 208, 16, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 5, 8, 1, 11, 13, 16)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 5, 8, 10, 11, 13, 16), strides=(400, 80, 10, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 5, 8, 10, 11, 13, 16), strides=(22880, 0, 0, 2288, 208, 16, 1), offset=0, mask=None, contiguous=False),)))
  40 2288    3   10
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  40  572    3   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  20  572    3   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32  572    3   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32  572   10    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  32  143   10    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4  143    8   10    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2  143    8    2   10    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2  143    8   10    4    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2  160    8   10    4    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   80    8    2   10    4    2    3    4    2
testing ast 227
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 11, 1, 7), strides=(231, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 3, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 2, 12, 2, 8), strides=(720, 240, 2, 24, 1, 4), offset=0, mask=((0, 4), (0, 3), (0, 2), (0, 10), (0, 2), (0, 6)), contiguous=False), View(shape=(4, 3, 33, 21), strides=(1152, 384, 16, 1), offset=0, mask=((0, 4), (0, 3), (0, 24), (0, 16)), contiguous=False), View(shape=(4, 3, 3, 11, 3, 7), strides=(2079, 693, 231, 21, 7, 1), offset=0, mask=None, contiguous=True))))
   4    3   11    7    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   11    7    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    3    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    7    3    3    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    7    3    4    3    3
testing ast 228
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━┳ SUM (1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ SUB 
  5    ┃   ┃ ┣━┳ SUB 
  6    ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
  7    ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃   ┗━┳ CAST (dtypes.float, False)
 10    ┃     ┗━┳ MUL 
 11    ┃       ┣━┳ WHERE 
 12    ┃       ┃ ┣━┳ CMPEQ 
 13    ┃       ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 10), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
 15    ┃       ┃ ┣━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 10), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 10), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃       ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 18    ┗━┳ CAST (dtypes.float, False)
 19      ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  69   10
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  69   10
testing ast 229
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 28, 1, 1, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 672, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 672, 1, 1), strides=(0, 0, 1, 0, 0, 28, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  8    ┗━┳ DIV 
  9      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10      ┗━┳ ADD 
 11        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━┳ EXP2 
 13          ┗━┳ MUL 
 14            ┣━┳ ADD 
 15            ┃ ┣━┳ SUM (1, 1, 28, 1, 1, 1, 1, 1)
 16            ┃ ┃ ┗━┳ MUL 
 17            ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 672, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18            ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 672, 1, 1), strides=(0, 0, 1, 0, 0, 28, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 20            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 28, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  28  672
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  28    8   84
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   7    8   84    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   84    4    7
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8   21    4    7    4
testing ast 230
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 6, 6, 1, 1, 1, 4, 1, 1, 1, 1), strides=(0, 24, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 6, 6, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 6, 6, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 40, 4, 0, 0, 0, 0, 0, 1, 40, 4), offset=44, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 6, 6, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   6    6    4    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    6    4    4    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    4    4    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    4    3    4    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4    3    3    3    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    2    3    3    3    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    3    3    2    3    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3    2    3    2    3    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   2    2    3    3    2    3    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3    2    3    2    3    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   2    2    3    3    2    3    4    2    3
testing ast 231
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 1), strides=(2048, 256, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (32, 8, 16, 16, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 64), strides=(8192, 1024, 64, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 64), strides=(8192, 1024, 0, 64, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16   64
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
 256   16   16   32    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64   16   16   32    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   16   16   32    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   16   16    8    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   16   16    8    4    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   16   16    2    8    4    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   16   16    2    8    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    8   16    2    2    8    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    4   16    2    2    2    8    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   4    4   16    2    2    2    8    4    2    4    2    4
testing ast 232
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 4), strides=(0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 4), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 4), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━┳ SUM (1, 2, 4)
  7      ┗━┳ MUL 
  8        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 4), strides=(2, 1, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 4), strides=(8, 0, 2), offset=1, mask=None, contiguous=False),)))
   2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 233
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 112, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 112, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(21952, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.002551020408163265, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 112, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 112    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  28    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  14    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  14  196    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
   2  196    4    2    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 196    4    2    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   49    4    2    2    7    2
testing ast 234
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 64, 1, 56, 56, 3, 3), strides=(1806336, 0, 28224, 0, 504, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 64, 1, 56, 56, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 64, 64, 56, 56, 3, 3), strides=(0, 0, 9, 576, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 64, 64, 56, 56, 3, 3), strides=(200704, 0, 0, 3136, 56, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   64 3136    9   64
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   64 3136    9    4   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3)]
   2   64 3136    3    4   16    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  64 3136    3    4   16    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64 3136    3   16    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32 3136    3    2   16    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32 3136    3    2    4    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32 1568    3    2    4    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32 1568    3    2    4    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32  784    3    2    2    4    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  32   98    3    2    2    8    4    3    2    4    4    2
testing ast 235
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 3), strides=(0, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 2, 1, 3), strides=(5, 0, 0, 2, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 2, 1, 3), strides=(2, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    2    2
testing ast 236
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 672, 1, 1, 1, 1, 5, 5), strides=(0, 25, 0, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 672, 1, 1, 1, 1, 5, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 6, 17, 6, 17), strides=(131712, 196, 0, 14, 0, 1), offset=-15, mask=((0, 2), (0, 672), (0, 6), (1, 15), (0, 6), (1, 15)), contiguous=False), View(shape=(2, 672, 1, 7, 7, 1, 5, 5), strides=(6991488, 10404, 0, 204, 2, 0, 1836, 18), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 7, 7, 1, 5, 5), strides=(32928, 49, 0, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 672    5    5    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
 224    5    5    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 224    5    3    2    7    7    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 224    3    2    7    7    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  14    3   16    2    7    7    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
   2    3   16    2    7    7    5    5    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2    3    8    2    2    7    7    5    5    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2    3    4    2    2    2    7    7    5    5    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2    3    2    2    2    2    2    7    7    5    5    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    2    2    2    2    2    2    7    7    5    5    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    2    2    2    2    3    2    7    7    5    5    7
testing ast 237
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 1, 11, 1), strides=(11, 0, 0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 1, 1, 1, 11, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ MUL 
  5        ┣━┳ CAST (dtypes.float, False)
  6        ┃ ┗━┳ CMPLT 
  7        ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(66, 0, 0, 11, 1, 0), offset=0, mask=None, contiguous=True),)))
  9        ┗━┳ ADD 
 10          ┣━┳ MUL 
 11          ┃ ┣━┳ ADD 
 12          ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(66, 0, 0, 11, 1, 0), offset=0, mask=None, contiguous=True),)))
 13          ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15          ┗━┳ MUL 
 16            ┣━┳ ADD 
 17            ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(66, 0, 0, 11, 1, 0), offset=0, mask=None, contiguous=True),)))
 18            ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 11, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8   11    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   11    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    4    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    6    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    2    4    6
testing ast 238
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 1, 10, 1, 10), strides=(3200, 100, 0, 10, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 32, 1, 10, 1, 10)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 3, 11, 3, 11), strides=(18432, 576, 3, 72, 1, 9), offset=0, mask=((0, 32), (0, 32), (0, 3), (0, 8), (0, 3), (0, 8)), contiguous=False), View(shape=(32, 32, 40, 40), strides=(34848, 1089, 33, 1), offset=0, mask=((0, 32), (0, 32), (0, 33), (0, 33)), contiguous=False), View(shape=(32, 32, 4, 10, 4, 10), strides=(51200, 1600, 400, 40, 10, 1), offset=0, mask=None, contiguous=True))))
  32   32   10   10    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32   10   10   32    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  32   10   10   16    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   10   10   16    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16   10   10   16    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16   10   10   16    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16    5   10   16    2    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  16    5    5   16    2    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    5    5   16    2    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   8    5    5    8    2    2    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
   8    5    5    2    2    2    4    2    2    4    4    2    2
testing ast 239
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 640, 32, 32, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1920, 1, 1), strides=(0, 0, 0, 32, 1, 1024, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1920, 1, 1), strides=(0, 0, 1920, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 640 1024 1920
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 640  256 1920    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 320  256 1920    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 320   64    4 1920    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160   64    4    2 1920    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 160   64    4    2  480    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 160   64    2    2  480    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 160   32    2    2  480    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 160   32    2    2    4  120    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  80   32    2    2    4  120    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80   32    2    2    4    4   30    4    2    4    2    2    2
testing ast 240
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ SUB 
  3    ┃ ┣━━ CONST ConstBuffer(val=20.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ MAX (10, 1)
  5    ┃   ┗━┳ MUL 
  6    ┃     ┣━┳ CAST (dtypes.int, False)
  7    ┃     ┃ ┗━┳ CMPEQ 
  8    ┃     ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃     ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(20, 1), offset=0, mask=None, contiguous=True),)))
 10    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 20), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
 11    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  10   20
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5   20    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    5    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   4    2    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    5    5    4
testing ast 241
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 32, 13, 13, 1, 1), strides=(5408, 169, 13, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (128, 32, 13, 13, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 32, 13, 13, 2, 2), strides=(21632, 676, 52, 2, 26, 1), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.25, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 32, 13, 13, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
53248   13    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
1664   13   32    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
1664   13   16    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 832   13   16    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
 208   13   16    4    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 208   13   16    4    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 104   13   16    4    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 104   13   16    2    2    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 104   13    8    2    2    2    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
 104   13    8    2    2    2    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
   8   13    8    2   13    2    2    2    2    2    2    2
testing ast 242
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 160, 1), strides=(5120, 160, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 32, 160, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 160, 256), strides=(1310720, 40960, 256, 1), offset=0, mask=None, contiguous=True),)))
10240  256
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 320   32  256
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 320   16  256    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 160   16  256    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 160    4    4  256    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80    4    4    2  256    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  80    4    4    2   64    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  80    2    4    2   64    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2    4    2   64    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  40    2    4    2    8    8    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  40    2    2    8    8    2    2    4    2    2    4
testing ast 243
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 77, 320, 1), strides=(24640, 320, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 77, 320, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 77, 320, 768), strides=(59136, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 77, 320, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),)))
 154  320  768
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7)]
  22  320  768    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  11  320  768    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  11  320    8   96    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  11  320    8   24    7    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  11  320    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  11   80    4    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  11   80    2    2    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11   40    2    2    2    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  11   64    2    2    2    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11   32    2    2    2    2    8    6    7    2    4    4
testing ast 244
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=23424, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 245
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 256, 1), strides=(256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (10, 256, 1)
  2    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2560,), strides=(0,), offset=0, mask=((208, 2560),), contiguous=False), View(shape=(10, 257, 511), strides=(256, 0, 1), offset=-255, mask=((0, 10), (0, 257), (255, 511)), contiguous=False), View(shape=(10, 256, 256), strides=(131327, 1, 512), offset=0, mask=None, contiguous=False))))
  10  256  256
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  10  256   32    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  10  128   32    8    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5  128   32    8    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   5  128   32    8    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5   32   32    8    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5   16   32    8    2    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5    4   32    8    2    2    4    2    4
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2560,), strides=(0,), offset=0, mask=((208, 2560),), contiguous=False), View(shape=(10, 257, 511), strides=(256, 0, 1), offset=-255, mask=((0, 10), (0, 257), (255, 511)), contiguous=False), View(shape=(10, 256, 256), strides=(131327, 1, 512), offset=0, mask=None, contiguous=False))))),), arg=(10, 256, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 256, 1), strides=(256, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
COMPILE FAILED!!
testing ast 246
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.002551020408163265, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 256, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 256    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2  196    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2   49    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
testing ast 247
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(32, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 320), strides=(10240, 320, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=1.220703125e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64  320
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64    4   80
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    4   80    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    4   80    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8   80    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8   20    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   20    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2   20    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    2    4    5    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    5    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    5    4    2    4    4    2
testing ast 248
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 1, 1), strides=(5, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 5, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 2, 2), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    5    4
testing ast 249
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 7, 7, 3, 3), strides=(1764, 0, 441, 0, 63, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 4, 1, 7, 7, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 4, 7, 7, 3, 3), strides=(0, 0, 9, 36, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 4, 7, 7, 3, 3), strides=(196, 0, 0, 49, 7, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4   49    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   2   49    9    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   49    9    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  49    9    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    9    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64    9    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    9    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    9    2    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    9    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    9    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   9    2    2    2    4    2    4    4    2
testing ast 250
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20, 1, 40), strides=(800, 40, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (10, 20, 1, 40)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20, 30, 40), strides=(600, 30, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20, 30, 40), strides=(1200, 0, 40, 1), offset=0, mask=None, contiguous=False),)))
  10   20   40   30
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  10   20   10    4   30
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5   20   10    4   30    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20   10    4   30    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   5   10    4   30    2    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5   10   30    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    5    2   30    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 251
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ ADD 
  6    ┃ ┃ ┃ ┃ ┣━┳ ADD 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 352, 4, 8, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 2112, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 2112, 1, 1), strides=(0, 0, 2112, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 13    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┗━┳ MAX 
 17      ┣━┳ SUB 
 18      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┗━┳ EXP2 
 20      ┃   ┗━┳ MUL 
 21      ┃     ┣━┳ ADD 
 22      ┃     ┃ ┣━┳ MUL 
 23      ┃     ┃ ┃ ┣━┳ ADD 
 24      ┃     ┃ ┃ ┃ ┣━┳ ADD 
 25      ┃     ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 352, 4, 8, 1, 1, 1)
 26      ┃     ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 27      ┃     ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 2112, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃     ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 2112, 1, 1), strides=(0, 0, 2112, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30      ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 31      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃     ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 352, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 352   32 2112
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 352    8 2112    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 352 2112    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 352    8  264    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 352    8   66    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 176    2    8   66    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 252
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 1, 1), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (512, 512, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ MUL 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━┳ ADD 
  7      ┃ ┃   ┣━┳ MUL 
  8      ┃ ┃   ┃ ┣━┳ MUL 
  9      ┃ ┃   ┃ ┃ ┣━┳ SUB 
 10      ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 11      ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15      ┃ ┗━┳ ADD 
 16      ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┗━┳ SUB 
 18      ┃     ┣━┳ MUL 
 19      ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━┳ DIV 
 21      ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┃     ┃   ┗━┳ ADD 
 23      ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24      ┃     ┃     ┗━┳ EXP2 
 25      ┃     ┃       ┗━┳ MUL 
 26      ┃     ┃         ┣━┳ MUL 
 27      ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃     ┃         ┃ ┗━┳ MUL 
 29      ┃     ┃         ┃   ┣━┳ MUL 
 30      ┃     ┃         ┃   ┃ ┣━┳ ADD 
 31      ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
 32      ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
 33      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 34      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 35      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 36      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 38      ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 39      ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40      ┃     ┃         ┃   ┗━┳ ADD 
 41      ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42      ┃     ┃         ┃     ┗━┳ MUL 
 43      ┃     ┃         ┃       ┣━┳ MUL 
 44      ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45      ┃     ┃         ┃       ┃ ┗━┳ ADD 
 46      ┃     ┃         ┃       ┃   ┣━┳ MUL 
 47      ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
 48      ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
 49      ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 50      ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 51      ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52      ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54      ┃     ┃         ┃       ┗━┳ ADD 
 55      ┃     ┃         ┃         ┣━┳ MUL 
 56      ┃     ┃         ┃         ┃ ┣━┳ MUL 
 57      ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
 58      ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 59      ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 60      ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61      ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 62      ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63      ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 64      ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65      ┗━┳ MUL 
 66        ┣━┳ MUL 
 67        ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 68        ┃ ┗━┳ ADD 
 69        ┃   ┣━┳ MUL 
 70        ┃   ┃ ┣━┳ MUL 
 71        ┃   ┃ ┃ ┣━┳ SUB 
 72        ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 73        ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 74        ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 75        ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 76        ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 77        ┗━┳ ADD 
 78          ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79          ┗━┳ SUB 
 80            ┣━┳ MUL 
 81            ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 82            ┃ ┗━┳ DIV 
 83            ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 84            ┃   ┗━┳ ADD 
 85            ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 86            ┃     ┗━┳ EXP2 
 87            ┃       ┗━┳ MUL 
 88            ┃         ┣━┳ MUL 
 89            ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 90            ┃         ┃ ┗━┳ MUL 
 91            ┃         ┃   ┣━┳ MUL 
 92            ┃         ┃   ┃ ┣━┳ ADD 
 93            ┃         ┃   ┃ ┃ ┣━┳ MUL 
 94            ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
 95            ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 96            ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 97            ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 98            ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 99            ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
100            ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
101            ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
102            ┃         ┃   ┗━┳ ADD 
103            ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
104            ┃         ┃     ┗━┳ MUL 
105            ┃         ┃       ┣━┳ MUL 
106            ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
107            ┃         ┃       ┃ ┗━┳ ADD 
108            ┃         ┃       ┃   ┣━┳ MUL 
109            ┃         ┃       ┃   ┃ ┣━┳ MUL 
110            ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
111            ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
112            ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
113            ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
114            ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
115            ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
116            ┃         ┃       ┗━┳ ADD 
117            ┃         ┃         ┣━┳ MUL 
118            ┃         ┃         ┃ ┣━┳ MUL 
119            ┃         ┃         ┃ ┃ ┣━┳ SUB 
120            ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
121            ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
122            ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
123            ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
124            ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
125            ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
126            ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512  512   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 512  128   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  128   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64  128    4   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  128    4    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  128    4    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64  128    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64   64    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   64    2    2   32    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   32    2    2   32    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=8)]
   2   32    2    2    4    2    8    4    2    4    4    2
testing ast 253
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=66048, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 254
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 4096 / 5120 (80%)
Max absolute difference: 5528.
Max relative difference: 2.7
 x: array([7404., 7436., 7444., ...,    0.,    0.,    0.], dtype=float16)
 y: array([2048., 2048., 2048., ...,    0.,    0.,    0.], dtype=float16)
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 4096, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 32000), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 32000), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
4096 32000
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 128   32 32000
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   16 32000    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   16 32000    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64    4    4 32000    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    4    4    2 32000    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    4    4    2 8000    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    2    4    2 8000    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    2    4    2 8000    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    2    4    2    8 1000    2    2    4    2    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 32000), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 32000), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 4096, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
COMPARE FAILED!!
testing ast 255
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 480, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(155520, 324, 18, 1), offset=38, mask=None, contiguous=False),)))
 26            ┗━┳ MUL 
 27              ┣━┳ MUL 
 28              ┃ ┣━┳ DIV 
 29              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30              ┃ ┃ ┗━┳ ADD 
 31              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32              ┃ ┃   ┗━┳ EXP2 
 33              ┃ ┃     ┗━┳ MUL 
 34              ┃ ┃       ┣━┳ ADD 
 35              ┃ ┃       ┃ ┣━┳ MUL 
 36              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 37              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 38              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 39              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 40              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 42              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┗━┳ SUB 
 45              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃   ┗━┳ DIV 
 47              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃     ┗━┳ ADD 
 49              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃       ┗━┳ EXP2 
 51              ┃         ┗━┳ MUL 
 52              ┃           ┣━┳ ADD 
 53              ┃           ┃ ┣━┳ MUL 
 54              ┃           ┃ ┃ ┣━┳ MUL 
 55              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 56              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 57              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 58              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 59              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 60              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┗━┳ MUL 
 63                ┣━┳ ADD 
 64                ┃ ┣━┳ MUL 
 65                ┃ ┃ ┣━┳ MUL 
 66                ┃ ┃ ┃ ┣━┳ SUB 
 67                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 68                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 72                ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(155520, 324, 18, 1), offset=38, mask=None, contiguous=False),)))
 480    2   14   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  30   16    2   14   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  30    8    2   14   14    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  30    2   14   14    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  30    2   14    2    8   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  15    2    2   14    2    8   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 256
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 4, 3, 3), strides=(0, 0, 36, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 9, 4, 11), strides=(324, 81, 0, 9, 0, 1), offset=-1, mask=((0, 2), (0, 4), (0, 4), (0, 9), (0, 4), (1, 10)), contiguous=False), View(shape=(2, 1, 4, 7, 9, 4, 3, 3), strides=(6336, 0, 0, 44, 1, 1584, 440, 12), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 9, 4, 3, 3), strides=(252, 0, 63, 9, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    3    3    2    7    9
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    3    3    2    2    7    9
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    2    2    7    9    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2    7    9    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    2    2    9    2    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    2    2    9    2    4    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 257
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 40, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 40, 28, 28), strides=(31360, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 40, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 40, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 40, 28, 28), strides=(31360, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃   ┗━┳ MUL 
 16      ┃ ┃     ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 17      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━┳ MUL 
 20        ┣━┳ ADD 
 21        ┃ ┣━┳ MUL 
 22        ┃ ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 23        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25        ┗━┳ ADD 
 26          ┣━┳ MUL 
 27          ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 28          ┃ ┗━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 40, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  40    2  784
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  10    2  784    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    2  784    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   5    2  196    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2  196    4    2    4    5
testing ast 258
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2, 1), strides=(0, 4, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ SUM (1, 32, 2, 2, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2, 128), strides=(0, 128, 4096, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2, 128), strides=(0, 128, 0, 4096, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ CONST ConstBuffer(val=0.08838834764831843, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2, 1), strides=(0, 0, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  32    2    2  128
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    2    2  128    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2  128    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2  128    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2  128    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2  128    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2   32    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   32    4    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    8    4    4    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 259
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 1, 1, 1, 6), strides=(54, 6, 0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 9, 1, 1, 1, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 1, 1, 6), strides=(0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 1, 1, 6), strides=(432, 48, 6, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  27    6    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  27    6    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  27    3    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  27    4    2    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    4    2    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    2    2    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    2    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2    2    3    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2    2    3    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4    2    3    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    3    4    2    4
testing ast 260
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 2, 2, 1, 6), strides=(24, 12, 6, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 2, 2, 1, 6)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 2, 2, 8, 6), strides=(192, 96, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  12    6    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   4    6    3    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    8    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    8    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   3    8    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3    2    6    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    6    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 261
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 672, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 672, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(131712, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(217728, 324, 18, 1), offset=38, mask=None, contiguous=False),)))
 26            ┗━┳ MUL 
 27              ┣━┳ MUL 
 28              ┃ ┣━┳ DIV 
 29              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30              ┃ ┃ ┗━┳ ADD 
 31              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32              ┃ ┃   ┗━┳ EXP2 
 33              ┃ ┃     ┗━┳ MUL 
 34              ┃ ┃       ┣━┳ ADD 
 35              ┃ ┃       ┃ ┣━┳ MUL 
 36              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 37              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 38              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(131712, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 39              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 40              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 42              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┗━┳ SUB 
 45              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃   ┗━┳ DIV 
 47              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃     ┗━┳ ADD 
 49              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃       ┗━┳ EXP2 
 51              ┃         ┗━┳ MUL 
 52              ┃           ┣━┳ ADD 
 53              ┃           ┃ ┣━┳ MUL 
 54              ┃           ┃ ┃ ┣━┳ MUL 
 55              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 56              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(131712, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 57              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 58              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 59              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 60              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┗━┳ MUL 
 63                ┣━┳ ADD 
 64                ┃ ┣━┳ MUL 
 65                ┃ ┃ ┣━┳ MUL 
 66                ┃ ┃ ┃ ┣━┳ SUB 
 67                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(131712, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 68                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 72                ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 14, 14), strides=(217728, 324, 18, 1), offset=38, mask=None, contiguous=False),)))
 672    2   14   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  84    8    2   14   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  28    8    2   14   14    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  28    2   14   14    3    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   7    4    2   14   14    3    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   7    2    2   14   14    3    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   7    2   14   14    3    8    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7   14   14    3    8    2    2    2
testing ast 262
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 1), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.0625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (2, 56, 56, 1)
  4      ┗━┳ NEG 
  5        ┗━┳ ADD 
  6          ┣━┳ ADD 
  7          ┃ ┣━┳ MUL 
  8          ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
  9          ┃ ┃ ┗━┳ MUL 
 10          ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(50176, 896, 16, 1), offset=0, mask=None, contiguous=True),)))
 12          ┃ ┗━┳ MUL 
 13          ┃   ┣━┳ SUB 
 14          ┃   ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(50176, 56, 1, 3136), offset=0, mask=None, contiguous=False),)))
 15          ┃   ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
 16          ┃   ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
 17          ┗━┳ MUL 
 18            ┣━┳ SUB 
 19            ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(50176, 56, 1, 3136), offset=0, mask=None, contiguous=False),)))
 20            ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
 21            ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
   2 3136   16
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2  196   16   16
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   49   16   16    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  49   16   16    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  49   16    4    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  49   16    4    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  49   16    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  49    8    2    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  49    4    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  49    2    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  49    2    2    2    4    2    4    4    2
testing ast 263
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 56, 80, 1, 1, 1), strides=(0, 0, 4480, 80, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 80, 56, 80, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 56, 80, 80, 1, 1), strides=(0, 0, 0, 80, 1, 4480, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 56, 80, 80, 1, 1), strides=(0, 0, 80, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  80 4480   80
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  80 1120   80    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40 1120   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  10 1120    4   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5 1120    4    2   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   5 1120    4    2   20    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   5 1120    2    2   20    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   5 1120    2    2    4    5    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   5 1120    2    4    5    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   5  140    2    8    4    5    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=3, amt=8)]
testing ast 264
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 1, 7, 5), strides=(35, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 1, 1, 1, 7, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 7, 5), strides=(0, 0, 0, 5, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 7, 5), strides=(42, 0, 0, 7, 1, 0), offset=0, mask=None, contiguous=False),)))
   8    7    5    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   8    5    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    6    7    8
testing ast 265
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 3, 1, 1, 2, 4, 1, 1, 1, 1), strides=(0, 24, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 3, 1, 1, 2, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 3, 1, 1, 2, 4, 1, 4, 2, 5), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 3, 1, 1, 2, 4, 1, 4, 2, 5), strides=(0, 0, 0, 0, 0, 160, 1, 0, 4, 80, 16), offset=0, mask=None, contiguous=False),)))
  10    3    2    4    4    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10    3    4    2    4    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  10    3    2    4    2    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  10    2    4    2    5    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  10    2    4    2    4    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  10    2    4    4    3    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    2    4    4    3    5    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 266
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 2, 4), strides=(0, 8, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 2, 4), strides=(0, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 2, 4), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━┳ SUM (1, 2, 2, 4)
  7      ┗━┳ MUL 
  8        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 2, 4), strides=(4, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 2, 4), strides=(8, 0, 0, 2), offset=1, mask=None, contiguous=False),)))
   4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    2
testing ast 267
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPLT 
  5      ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  7      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(65536, 256, 16, 1), offset=17, mask=None, contiguous=False),)))
 256    2   14   14
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2   14   14    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2   14   14    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32    2   14    4    2   14
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    2    2   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    2   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    2    2    4   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4    2   14    4    2   14    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2    2    2    4   14    4    2   14    2
testing ast 268
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 240, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━┳ ADD 
 26            ┃   ┣━┳ MUL 
 27            ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28            ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┗━┳ MUL 
 31              ┣━┳ MUL 
 32              ┃ ┣━┳ DIV 
 33              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34              ┃ ┃ ┗━┳ ADD 
 35              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36              ┃ ┃   ┗━┳ EXP2 
 37              ┃ ┃     ┗━┳ MUL 
 38              ┃ ┃       ┣━┳ ADD 
 39              ┃ ┃       ┃ ┣━┳ MUL 
 40              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 41              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 42              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 43              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃ ┗━┳ SUB 
 49              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃   ┗━┳ DIV 
 51              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52              ┃     ┗━┳ ADD 
 53              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54              ┃       ┗━┳ EXP2 
 55              ┃         ┗━┳ MUL 
 56              ┃           ┣━┳ ADD 
 57              ┃           ┃ ┣━┳ MUL 
 58              ┃           ┃ ┃ ┣━┳ MUL 
 59              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 60              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 61              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66              ┗━┳ MUL 
 67                ┣━┳ ADD 
 68                ┃ ┣━┳ MUL 
 69                ┃ ┃ ┣━┳ MUL 
 70                ┃ ┃ ┃ ┣━┳ SUB 
 71                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 72                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 73                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 74                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 75                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 76                ┗━┳ ADD 
 77                  ┣━┳ MUL 
 78                  ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 79                  ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 80                  ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 240    2  784
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
 240   16    2   49
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  80   16    2   49    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40   16    2   49    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40    4    2   49    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  40    4   49    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  10    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
testing ast 269
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 30, 40), strides=(1200, 40, 1), offset=0, mask=None, contiguous=True),)))
24000
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4)]
6000    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1500    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4  375    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 375    4    4    4
testing ast 270
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ ADD 
 11      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┗━┳ MUL 
 13        ┣━┳ DIV 
 14        ┃ ┣━┳ MUL 
 15        ┃ ┃ ┣━┳ ADD 
 16        ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
 17        ┃ ┃ ┃ ┃ ┗━┳ MUL 
 18        ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
 19        ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
 20        ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
 21        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22        ┃ ┗━┳ ADD 
 23        ┃   ┣━┳ ADD 
 24        ┃   ┃ ┣━┳ MAX 
 25        ┃   ┃ ┃ ┣━┳ MUL 
 26        ┃   ┃ ┃ ┃ ┣━┳ ADD 
 27        ┃   ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
 28        ┃   ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 29        ┃   ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
 30        ┃   ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
 31        ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
 32        ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33        ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34        ┃   ┃ ┗━┳ MAX 
 35        ┃   ┃   ┣━┳ NEG 
 36        ┃   ┃   ┃ ┗━┳ MUL 
 37        ┃   ┃   ┃   ┣━┳ ADD 
 38        ┃   ┃   ┃   ┃ ┣━┳ SUM (1, 384, 4096, 1)
 39        ┃   ┃   ┃   ┃ ┃ ┗━┳ MUL 
 40        ┃   ┃   ┃   ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
 41        ┃   ┃   ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
 42        ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
 43        ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44        ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45        ┃   ┗━━ CONST ConstBuffer(val=1e-12, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46        ┗━┳ SUB 
 47          ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48          ┗━┳ MUL 
 49            ┣━┳ MUL 
 50            ┃ ┣━┳ ADD 
 51            ┃ ┃ ┣━┳ MUL 
 52            ┃ ┃ ┃ ┣━┳ ADD 
 53            ┃ ┃ ┃ ┃ ┣━┳ MUL 
 54            ┃ ┃ ┃ ┃ ┃ ┣━┳ ADD 
 55            ┃ ┃ ┃ ┃ ┃ ┃ ┣━┳ MUL 
 56            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣━┳ ADD 
 57            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣━┳ MUL 
 58            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=1.061405429, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 59            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ DIV 
 60            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┗━┳ ADD 
 62            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┗━┳ MUL 
 64            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┣━━ CONST ConstBuffer(val=0.3275911, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┗━┳ ADD 
 66            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┣━┳ MAX 
 67            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ MUL 
 68            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┣━┳ ADD 
 69            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
 70            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃ ┗━┳ MUL 
 71            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
 72            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
 73            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
 74            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 75            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 76            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┗━┳ MAX 
 77            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┣━┳ NEG 
 78            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃ ┗━┳ MUL 
 79            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┣━┳ ADD 
 80            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┣━┳ SUM (1, 384, 4096, 1)
 81            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃ ┗━┳ MUL 
 82            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
 83            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
 84            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
 85            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 86            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 87            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=-1.453152027, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 88            ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ DIV 
 89            ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 90            ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┗━┳ ADD 
 91            ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 92            ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┗━┳ MUL 
 93            ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┣━━ CONST ConstBuffer(val=0.3275911, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 94            ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┗━┳ ADD 
 95            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┣━┳ MAX 
 96            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ MUL 
 97            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┣━┳ ADD 
 98            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
 99            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃ ┗━┳ MUL 
100            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
101            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
102            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
103            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
104            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
105            ┃ ┃ ┃ ┃ ┃ ┃ ┃         ┗━┳ MAX 
106            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┣━┳ NEG 
107            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃ ┗━┳ MUL 
108            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┣━┳ ADD 
109            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┣━┳ SUM (1, 384, 4096, 1)
110            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃ ┗━┳ MUL 
111            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
112            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
113            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
114            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
115            ┃ ┃ ┃ ┃ ┃ ┃ ┃           ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
116            ┃ ┃ ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.421413741, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
117            ┃ ┃ ┃ ┃ ┃ ┗━┳ DIV 
118            ┃ ┃ ┃ ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
119            ┃ ┃ ┃ ┃ ┃   ┗━┳ ADD 
120            ┃ ┃ ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
121            ┃ ┃ ┃ ┃ ┃     ┗━┳ MUL 
122            ┃ ┃ ┃ ┃ ┃       ┣━━ CONST ConstBuffer(val=0.3275911, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
123            ┃ ┃ ┃ ┃ ┃       ┗━┳ ADD 
124            ┃ ┃ ┃ ┃ ┃         ┣━┳ MAX 
125            ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ MUL 
126            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┣━┳ ADD 
127            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
128            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃ ┗━┳ MUL 
129            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
130            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
131            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
132            ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
133            ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
134            ┃ ┃ ┃ ┃ ┃         ┗━┳ MAX 
135            ┃ ┃ ┃ ┃ ┃           ┣━┳ NEG 
136            ┃ ┃ ┃ ┃ ┃           ┃ ┗━┳ MUL 
137            ┃ ┃ ┃ ┃ ┃           ┃   ┣━┳ ADD 
138            ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┣━┳ SUM (1, 384, 4096, 1)
139            ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃ ┗━┳ MUL 
140            ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
141            ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
142            ┃ ┃ ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
143            ┃ ┃ ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
144            ┃ ┃ ┃ ┃ ┃           ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
145            ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=-0.284496736, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
146            ┃ ┃ ┃ ┗━┳ DIV 
147            ┃ ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
148            ┃ ┃ ┃   ┗━┳ ADD 
149            ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
150            ┃ ┃ ┃     ┗━┳ MUL 
151            ┃ ┃ ┃       ┣━━ CONST ConstBuffer(val=0.3275911, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
152            ┃ ┃ ┃       ┗━┳ ADD 
153            ┃ ┃ ┃         ┣━┳ MAX 
154            ┃ ┃ ┃         ┃ ┣━┳ MUL 
155            ┃ ┃ ┃         ┃ ┃ ┣━┳ ADD 
156            ┃ ┃ ┃         ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
157            ┃ ┃ ┃         ┃ ┃ ┃ ┃ ┗━┳ MUL 
158            ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
159            ┃ ┃ ┃         ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
160            ┃ ┃ ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
161            ┃ ┃ ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
162            ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
163            ┃ ┃ ┃         ┗━┳ MAX 
164            ┃ ┃ ┃           ┣━┳ NEG 
165            ┃ ┃ ┃           ┃ ┗━┳ MUL 
166            ┃ ┃ ┃           ┃   ┣━┳ ADD 
167            ┃ ┃ ┃           ┃   ┃ ┣━┳ SUM (1, 384, 4096, 1)
168            ┃ ┃ ┃           ┃   ┃ ┃ ┗━┳ MUL 
169            ┃ ┃ ┃           ┃   ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
170            ┃ ┃ ┃           ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
171            ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
172            ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
173            ┃ ┃ ┃           ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
174            ┃ ┃ ┗━━ CONST ConstBuffer(val=0.254829592, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
175            ┃ ┗━┳ DIV 
176            ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
177            ┃   ┗━┳ ADD 
178            ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
179            ┃     ┗━┳ MUL 
180            ┃       ┣━━ CONST ConstBuffer(val=0.3275911, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
181            ┃       ┗━┳ ADD 
182            ┃         ┣━┳ MAX 
183            ┃         ┃ ┣━┳ MUL 
184            ┃         ┃ ┃ ┣━┳ ADD 
185            ┃         ┃ ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
186            ┃         ┃ ┃ ┃ ┃ ┗━┳ MUL 
187            ┃         ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
188            ┃         ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
189            ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
190            ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
191            ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
192            ┃         ┗━┳ MAX 
193            ┃           ┣━┳ NEG 
194            ┃           ┃ ┗━┳ MUL 
195            ┃           ┃   ┣━┳ ADD 
196            ┃           ┃   ┃ ┣━┳ SUM (1, 384, 4096, 1)
197            ┃           ┃   ┃ ┃ ┗━┳ MUL 
198            ┃           ┃   ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
199            ┃           ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
200            ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
201            ┃           ┃   ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
202            ┃           ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
203            ┗━┳ EXP2 
204              ┗━┳ MUL 
205                ┣━┳ NEG 
206                ┃ ┗━┳ MUL 
207                ┃   ┣━┳ MUL 
208                ┃   ┃ ┣━┳ ADD 
209                ┃   ┃ ┃ ┣━┳ SUM (1, 384, 4096, 1)
210                ┃   ┃ ┃ ┃ ┗━┳ MUL 
211                ┃   ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
212                ┃   ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
213                ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
214                ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
215                ┃   ┗━┳ MUL 
216                ┃     ┣━┳ ADD 
217                ┃     ┃ ┣━┳ SUM (1, 384, 4096, 1)
218                ┃     ┃ ┃ ┗━┳ MUL 
219                ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 1024, 0, 1), offset=0, mask=None, contiguous=False),)))
220                ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
221                ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
222                ┃     ┗━━ CONST ConstBuffer(val=0.7071085623775818, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
223                ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 384 4096 1024
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
 384 4096    8  128
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  96 4096    8  128    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  48 4096    8  128    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  24 4096    2    8  128    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  24 4096    2    2  128    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  24 4096    2    2   32    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  12 4096    2    2    2   32    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  12 2048    2    2    2   32    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  12 2048    2    2    2    4    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  12 1024    2    2    2    2    4    8    4    2    4    4    2
testing ast 271
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ ADD 
  9            ┃ ┣━┳ ADD 
 10            ┃ ┃ ┣━┳ MUL 
 11            ┃ ┃ ┃ ┣━┳ MUL 
 12            ┃ ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃ ┃ ┃ ┗━┳ ADD 
 14            ┃ ┃ ┃ ┃   ┣━┳ MUL 
 15            ┃ ┃ ┃ ┃   ┃ ┣━┳ MUL 
 16            ┃ ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
 17            ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 18            ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┃ ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20            ┃ ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃ ┃ ┗━┳ MUL 
 23            ┃ ┃ ┃   ┣━┳ MUL 
 24            ┃ ┃ ┃   ┃ ┣━┳ ADD 
 25            ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
 26            ┃ ┃ ┃   ┃ ┃ ┃ ┣━┳ MUL 
 27            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 28            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31            ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃   ┗━┳ MUL 
 35            ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┃     ┗━┳ MUL 
 37            ┃ ┃ ┃       ┣━┳ MUL 
 38            ┃ ┃ ┃       ┃ ┣━┳ DIV 
 39            ┃ ┃ ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃ ┃       ┃ ┃ ┗━┳ ADD 
 41            ┃ ┃ ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃ ┃       ┃ ┃   ┗━┳ EXP2 
 43            ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
 44            ┃ ┃ ┃       ┃ ┃       ┣━┳ MUL 
 45            ┃ ┃ ┃       ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46            ┃ ┃ ┃       ┃ ┃       ┃ ┗━┳ MUL 
 47            ┃ ┃ ┃       ┃ ┃       ┃   ┣━┳ MUL 
 48            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┣━┳ ADD 
 49            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
 50            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
 51            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 52            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 53            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 54            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 56            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 57            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58            ┃ ┃ ┃       ┃ ┃       ┃   ┗━┳ ADD 
 59            ┃ ┃ ┃       ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 60            ┃ ┃ ┃       ┃ ┃       ┃     ┗━┳ MUL 
 61            ┃ ┃ ┃       ┃ ┃       ┃       ┣━┳ MUL 
 62            ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63            ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┗━┳ ADD 
 64            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┣━┳ MUL 
 65            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
 66            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
 67            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 68            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 72            ┃ ┃ ┃       ┃ ┃       ┃       ┗━┳ ADD 
 73            ┃ ┃ ┃       ┃ ┃       ┃         ┣━┳ MUL 
 74            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┣━┳ MUL 
 75            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
 76            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 77            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 78            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80            ┃ ┃ ┃       ┃ ┃       ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 81            ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 82            ┃ ┃ ┃       ┃ ┗━┳ SUB 
 83            ┃ ┃ ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 84            ┃ ┃ ┃       ┃   ┗━┳ DIV 
 85            ┃ ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 86            ┃ ┃ ┃       ┃     ┗━┳ ADD 
 87            ┃ ┃ ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 88            ┃ ┃ ┃       ┃       ┗━┳ EXP2 
 89            ┃ ┃ ┃       ┃         ┗━┳ MUL 
 90            ┃ ┃ ┃       ┃           ┣━┳ MUL 
 91            ┃ ┃ ┃       ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 92            ┃ ┃ ┃       ┃           ┃ ┗━┳ MUL 
 93            ┃ ┃ ┃       ┃           ┃   ┣━┳ MUL 
 94            ┃ ┃ ┃       ┃           ┃   ┃ ┣━┳ ADD 
 95            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┣━┳ MUL 
 96            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
 97            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 98            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 99            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
100            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
101            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
102            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
103            ┃ ┃ ┃       ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
104            ┃ ┃ ┃       ┃           ┃   ┗━┳ ADD 
105            ┃ ┃ ┃       ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
106            ┃ ┃ ┃       ┃           ┃     ┗━┳ MUL 
107            ┃ ┃ ┃       ┃           ┃       ┣━┳ MUL 
108            ┃ ┃ ┃       ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
109            ┃ ┃ ┃       ┃           ┃       ┃ ┗━┳ ADD 
110            ┃ ┃ ┃       ┃           ┃       ┃   ┣━┳ MUL 
111            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┣━┳ MUL 
112            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
113            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
114            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
115            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
116            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
117            ┃ ┃ ┃       ┃           ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
118            ┃ ┃ ┃       ┃           ┃       ┗━┳ ADD 
119            ┃ ┃ ┃       ┃           ┃         ┣━┳ MUL 
120            ┃ ┃ ┃       ┃           ┃         ┃ ┣━┳ MUL 
121            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┣━┳ SUB 
122            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
123            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
124            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
125            ┃ ┃ ┃       ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
126            ┃ ┃ ┃       ┃           ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
127            ┃ ┃ ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
128            ┃ ┃ ┃       ┗━┳ MUL 
129            ┃ ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
130            ┃ ┃ ┃         ┗━┳ MUL 
131            ┃ ┃ ┃           ┣━┳ MUL 
132            ┃ ┃ ┃           ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
133            ┃ ┃ ┃           ┃ ┗━┳ ADD 
134            ┃ ┃ ┃           ┃   ┣━┳ MUL 
135            ┃ ┃ ┃           ┃   ┃ ┣━┳ MUL 
136            ┃ ┃ ┃           ┃   ┃ ┃ ┣━┳ SUB 
137            ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
138            ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
139            ┃ ┃ ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
140            ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
141            ┃ ┃ ┃           ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
142            ┃ ┃ ┃           ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
143            ┃ ┃ ┗━┳ MUL 
144            ┃ ┃   ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
145            ┃ ┃   ┗━┳ MUL 
146            ┃ ┃     ┣━┳ ADD 
147            ┃ ┃     ┃ ┣━┳ MUL 
148            ┃ ┃     ┃ ┃ ┣━┳ MUL 
149            ┃ ┃     ┃ ┃ ┃ ┣━┳ SUB 
150            ┃ ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
151            ┃ ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
152            ┃ ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
153            ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
154            ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
155            ┃ ┃     ┗━┳ MUL 
156            ┃ ┃       ┣━┳ MUL 
157            ┃ ┃       ┃ ┣━┳ ADD 
158            ┃ ┃       ┃ ┃ ┣━┳ MUL 
159            ┃ ┃       ┃ ┃ ┃ ┣━┳ MUL 
160            ┃ ┃       ┃ ┃ ┃ ┃ ┣━┳ SUB 
161            ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
162            ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
163            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
164            ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
165            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
166            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
167            ┃ ┃       ┗━┳ MUL 
168            ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
169            ┃ ┃         ┗━┳ MUL 
170            ┃ ┃           ┣━┳ MUL 
171            ┃ ┃           ┃ ┣━┳ DIV 
172            ┃ ┃           ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
173            ┃ ┃           ┃ ┃ ┗━┳ ADD 
174            ┃ ┃           ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
175            ┃ ┃           ┃ ┃   ┗━┳ EXP2 
176            ┃ ┃           ┃ ┃     ┗━┳ MUL 
177            ┃ ┃           ┃ ┃       ┣━┳ MUL 
178            ┃ ┃           ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
179            ┃ ┃           ┃ ┃       ┃ ┗━┳ MUL 
180            ┃ ┃           ┃ ┃       ┃   ┣━┳ MUL 
181            ┃ ┃           ┃ ┃       ┃   ┃ ┣━┳ ADD 
182            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
183            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
184            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
185            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
186            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
187            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
188            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
189            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
190            ┃ ┃           ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
191            ┃ ┃           ┃ ┃       ┃   ┗━┳ ADD 
192            ┃ ┃           ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
193            ┃ ┃           ┃ ┃       ┃     ┗━┳ MUL 
194            ┃ ┃           ┃ ┃       ┃       ┣━┳ MUL 
195            ┃ ┃           ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
196            ┃ ┃           ┃ ┃       ┃       ┃ ┗━┳ ADD 
197            ┃ ┃           ┃ ┃       ┃       ┃   ┣━┳ MUL 
198            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
199            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
200            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
201            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
202            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
203            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
204            ┃ ┃           ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
205            ┃ ┃           ┃ ┃       ┃       ┗━┳ ADD 
206            ┃ ┃           ┃ ┃       ┃         ┣━┳ MUL 
207            ┃ ┃           ┃ ┃       ┃         ┃ ┣━┳ MUL 
208            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
209            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
210            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
211            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
212            ┃ ┃           ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
213            ┃ ┃           ┃ ┃       ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
214            ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
215            ┃ ┃           ┃ ┗━┳ SUB 
216            ┃ ┃           ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
217            ┃ ┃           ┃   ┗━┳ DIV 
218            ┃ ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
219            ┃ ┃           ┃     ┗━┳ ADD 
220            ┃ ┃           ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
221            ┃ ┃           ┃       ┗━┳ EXP2 
222            ┃ ┃           ┃         ┗━┳ MUL 
223            ┃ ┃           ┃           ┣━┳ MUL 
224            ┃ ┃           ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
225            ┃ ┃           ┃           ┃ ┗━┳ MUL 
226            ┃ ┃           ┃           ┃   ┣━┳ MUL 
227            ┃ ┃           ┃           ┃   ┃ ┣━┳ ADD 
228            ┃ ┃           ┃           ┃   ┃ ┃ ┣━┳ MUL 
229            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
230            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
231            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
232            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
233            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
234            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
235            ┃ ┃           ┃           ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
236            ┃ ┃           ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
237            ┃ ┃           ┃           ┃   ┗━┳ ADD 
238            ┃ ┃           ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
239            ┃ ┃           ┃           ┃     ┗━┳ MUL 
240            ┃ ┃           ┃           ┃       ┣━┳ MUL 
241            ┃ ┃           ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
242            ┃ ┃           ┃           ┃       ┃ ┗━┳ ADD 
243            ┃ ┃           ┃           ┃       ┃   ┣━┳ MUL 
244            ┃ ┃           ┃           ┃       ┃   ┃ ┣━┳ MUL 
245            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
246            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
247            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
248            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
249            ┃ ┃           ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
250            ┃ ┃           ┃           ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
251            ┃ ┃           ┃           ┃       ┗━┳ ADD 
252            ┃ ┃           ┃           ┃         ┣━┳ MUL 
253            ┃ ┃           ┃           ┃         ┃ ┣━┳ MUL 
254            ┃ ┃           ┃           ┃         ┃ ┃ ┣━┳ SUB 
255            ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
256            ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
257            ┃ ┃           ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
258            ┃ ┃           ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
259            ┃ ┃           ┃           ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
260            ┃ ┃           ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
261            ┃ ┃           ┗━┳ MUL 
262            ┃ ┃             ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
263            ┃ ┃             ┗━┳ MUL 
264            ┃ ┃               ┣━┳ MUL 
265            ┃ ┃               ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
266            ┃ ┃               ┃ ┗━┳ ADD 
267            ┃ ┃               ┃   ┣━┳ MUL 
268            ┃ ┃               ┃   ┃ ┣━┳ MUL 
269            ┃ ┃               ┃   ┃ ┃ ┣━┳ SUB 
270            ┃ ┃               ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
271            ┃ ┃               ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
272            ┃ ┃               ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
273            ┃ ┃               ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
274            ┃ ┃               ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
275            ┃ ┃               ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
276            ┃ ┗━┳ MUL 
277            ┃   ┣━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
278            ┃   ┗━┳ MUL 
279            ┃     ┣━┳ ADD 
280            ┃     ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
281            ┃     ┃ ┗━┳ MUL 
282            ┃     ┃   ┣━┳ MUL 
283            ┃     ┃   ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
284            ┃     ┃   ┃ ┗━┳ ADD 
285            ┃     ┃   ┃   ┣━┳ MUL 
286            ┃     ┃   ┃   ┃ ┣━┳ MUL 
287            ┃     ┃   ┃   ┃ ┃ ┣━┳ SUB 
288            ┃     ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
289            ┃     ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
290            ┃     ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
291            ┃     ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
292            ┃     ┃   ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
293            ┃     ┃   ┗━┳ ADD 
294            ┃     ┃     ┣━┳ MUL 
295            ┃     ┃     ┃ ┣━┳ MUL 
296            ┃     ┃     ┃ ┃ ┣━┳ SUB 
297            ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
298            ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
299            ┃     ┃     ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
300            ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
301            ┃     ┃     ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
302            ┃     ┗━┳ MUL 
303            ┃       ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
304            ┃       ┗━┳ MUL 
305            ┃         ┣━┳ MUL 
306            ┃         ┃ ┣━┳ DIV 
307            ┃         ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
308            ┃         ┃ ┃ ┗━┳ ADD 
309            ┃         ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
310            ┃         ┃ ┃   ┗━┳ EXP2 
311            ┃         ┃ ┃     ┗━┳ MUL 
312            ┃         ┃ ┃       ┣━┳ MUL 
313            ┃         ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
314            ┃         ┃ ┃       ┃ ┗━┳ MUL 
315            ┃         ┃ ┃       ┃   ┣━┳ MUL 
316            ┃         ┃ ┃       ┃   ┃ ┣━┳ ADD 
317            ┃         ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
318            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
319            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
320            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
321            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
322            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
323            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
324            ┃         ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
325            ┃         ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
326            ┃         ┃ ┃       ┃   ┗━┳ ADD 
327            ┃         ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
328            ┃         ┃ ┃       ┃     ┗━┳ MUL 
329            ┃         ┃ ┃       ┃       ┣━┳ MUL 
330            ┃         ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
331            ┃         ┃ ┃       ┃       ┃ ┗━┳ ADD 
332            ┃         ┃ ┃       ┃       ┃   ┣━┳ MUL 
333            ┃         ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
334            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
335            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
336            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
337            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
338            ┃         ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
339            ┃         ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
340            ┃         ┃ ┃       ┃       ┗━┳ ADD 
341            ┃         ┃ ┃       ┃         ┣━┳ MUL 
342            ┃         ┃ ┃       ┃         ┃ ┣━┳ MUL 
343            ┃         ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
344            ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
345            ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
346            ┃         ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
347            ┃         ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
348            ┃         ┃ ┃       ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
349            ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
350            ┃         ┃ ┗━┳ SUB 
351            ┃         ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
352            ┃         ┃   ┗━┳ DIV 
353            ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
354            ┃         ┃     ┗━┳ ADD 
355            ┃         ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
356            ┃         ┃       ┗━┳ EXP2 
357            ┃         ┃         ┗━┳ MUL 
358            ┃         ┃           ┣━┳ MUL 
359            ┃         ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
360            ┃         ┃           ┃ ┗━┳ MUL 
361            ┃         ┃           ┃   ┣━┳ MUL 
362            ┃         ┃           ┃   ┃ ┣━┳ ADD 
363            ┃         ┃           ┃   ┃ ┃ ┣━┳ MUL 
364            ┃         ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
365            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
366            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
367            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
368            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
369            ┃         ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
370            ┃         ┃           ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
371            ┃         ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
372            ┃         ┃           ┃   ┗━┳ ADD 
373            ┃         ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
374            ┃         ┃           ┃     ┗━┳ MUL 
375            ┃         ┃           ┃       ┣━┳ MUL 
376            ┃         ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
377            ┃         ┃           ┃       ┃ ┗━┳ ADD 
378            ┃         ┃           ┃       ┃   ┣━┳ MUL 
379            ┃         ┃           ┃       ┃   ┃ ┣━┳ MUL 
380            ┃         ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
381            ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
382            ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
383            ┃         ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
384            ┃         ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
385            ┃         ┃           ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
386            ┃         ┃           ┃       ┗━┳ ADD 
387            ┃         ┃           ┃         ┣━┳ MUL 
388            ┃         ┃           ┃         ┃ ┣━┳ MUL 
389            ┃         ┃           ┃         ┃ ┃ ┣━┳ SUB 
390            ┃         ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
391            ┃         ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
392            ┃         ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
393            ┃         ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
394            ┃         ┃           ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
395            ┃         ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
396            ┃         ┗━┳ MUL 
397            ┃           ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
398            ┃           ┗━┳ MUL 
399            ┃             ┣━┳ MUL 
400            ┃             ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
401            ┃             ┃ ┗━┳ ADD 
402            ┃             ┃   ┣━┳ MUL 
403            ┃             ┃   ┃ ┣━┳ MUL 
404            ┃             ┃   ┃ ┃ ┣━┳ SUB 
405            ┃             ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
406            ┃             ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
407            ┃             ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
408            ┃             ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
409            ┃             ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
410            ┃             ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
411            ┗━┳ MUL 
412              ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
413              ┗━┳ MUL 
414                ┣━┳ ADD 
415                ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
416                ┃ ┗━┳ SUB 
417                ┃   ┣━┳ MUL 
418                ┃   ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
419                ┃   ┃ ┗━┳ DIV 
420                ┃   ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
421                ┃   ┃   ┗━┳ ADD 
422                ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
423                ┃   ┃     ┗━┳ EXP2 
424                ┃   ┃       ┗━┳ MUL 
425                ┃   ┃         ┣━┳ MUL 
426                ┃   ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
427                ┃   ┃         ┃ ┗━┳ MUL 
428                ┃   ┃         ┃   ┣━┳ MUL 
429                ┃   ┃         ┃   ┃ ┣━┳ ADD 
430                ┃   ┃         ┃   ┃ ┃ ┣━┳ MUL 
431                ┃   ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
432                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
433                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
434                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
435                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
436                ┃   ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
437                ┃   ┃         ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
438                ┃   ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
439                ┃   ┃         ┃   ┗━┳ ADD 
440                ┃   ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
441                ┃   ┃         ┃     ┗━┳ MUL 
442                ┃   ┃         ┃       ┣━┳ MUL 
443                ┃   ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
444                ┃   ┃         ┃       ┃ ┗━┳ ADD 
445                ┃   ┃         ┃       ┃   ┣━┳ MUL 
446                ┃   ┃         ┃       ┃   ┃ ┣━┳ MUL 
447                ┃   ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
448                ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
449                ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
450                ┃   ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
451                ┃   ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
452                ┃   ┃         ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
453                ┃   ┃         ┃       ┗━┳ ADD 
454                ┃   ┃         ┃         ┣━┳ MUL 
455                ┃   ┃         ┃         ┃ ┣━┳ MUL 
456                ┃   ┃         ┃         ┃ ┃ ┣━┳ SUB 
457                ┃   ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
458                ┃   ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
459                ┃   ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
460                ┃   ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
461                ┃   ┃         ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
462                ┃   ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
463                ┃   ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
464                ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
 256  512    8    8
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 256  512    8    8
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  512    8    8    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   8   16  512    8    8    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8   16  512    2    8    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    8    2  512    2    8    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   8    2    2  512    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    2    2  512    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8    2    2    8   64    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    2    8   64    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 272
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPLT 
  5      ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
  7      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(215296, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
  64    2   56   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
  64    8    2    7   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    8    2    7   56    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8    2    7   56    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    8    7   56    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    7   56    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
testing ast 273
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 32, 0, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 720, 1, 4, 8, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 6, 12, 6, 20), strides=(0, 128, 0, 16, 0, 1), offset=-34, mask=((0, 1), (0, 720), (0, 6), (2, 10), (0, 6), (2, 18)), contiguous=False), View(shape=(1, 720, 1, 4, 8, 1, 5, 5), strides=(0, 8640, 0, 240, 2, 0, 1560, 21), offset=0, mask=None, contiguous=False))))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 5, 5), strides=(0, 25, 0, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 720, 1, 4, 8, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 6, 12, 6, 20), strides=(0, 128, 0, 16, 0, 1), offset=-34, mask=((0, 1), (0, 720), (0, 6), (2, 10), (0, 6), (2, 18)), contiguous=False), View(shape=(1, 720, 1, 4, 8, 1, 5, 5), strides=(0, 8640, 0, 240, 2, 0, 1560, 21), offset=0, mask=None, contiguous=False))))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 5, 5), strides=(0, 25, 0, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 720, 1, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 720    4    8    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 736    4    8    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 736    2    8    5    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 736    8    5    5    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  92    8    8    5    5    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  92    8    8    5    2    2    5
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
  92    8    2    5    2    2    5    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  46    8    2    2    5    2    2    5    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  23    8    2    2    5    2    2    5    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    8    2    2    5    2    2    5    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    4    2    2    2    5    2    2    5    4    2
testing ast 274
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 1, 1, 6, 5, 3, 4), strides=(360, 0, 0, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (5, 1, 1, 1, 1, 1, 1, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 3, 1, 6, 5, 3, 4), strides=(3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 3, 1, 6, 5, 3, 4), strides=(0, 0, 0, 0, 0, 0, 360, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   5  360    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5  180    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 180    3    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  90    2    3    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  90    2    2    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  45    2    2    5    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  15    2    2    5    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 275
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ ADD 
  9            ┃ ┣━┳ ADD 
 10            ┃ ┃ ┣━┳ MUL 
 11            ┃ ┃ ┃ ┣━┳ MUL 
 12            ┃ ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃ ┃ ┃ ┗━┳ ADD 
 14            ┃ ┃ ┃ ┃   ┣━┳ MUL 
 15            ┃ ┃ ┃ ┃   ┃ ┣━┳ MUL 
 16            ┃ ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
 17            ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 18            ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┃ ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20            ┃ ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃ ┃ ┗━┳ MUL 
 23            ┃ ┃ ┃   ┣━┳ MUL 
 24            ┃ ┃ ┃   ┃ ┣━┳ ADD 
 25            ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
 26            ┃ ┃ ┃   ┃ ┃ ┃ ┣━┳ MUL 
 27            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 28            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31            ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃   ┗━┳ MUL 
 35            ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┃     ┗━┳ MUL 
 37            ┃ ┃ ┃       ┣━┳ MUL 
 38            ┃ ┃ ┃       ┃ ┣━┳ DIV 
 39            ┃ ┃ ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃ ┃       ┃ ┃ ┗━┳ ADD 
 41            ┃ ┃ ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃ ┃       ┃ ┃   ┗━┳ EXP2 
 43            ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
 44            ┃ ┃ ┃       ┃ ┃       ┣━┳ MUL 
 45            ┃ ┃ ┃       ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46            ┃ ┃ ┃       ┃ ┃       ┃ ┗━┳ MUL 
 47            ┃ ┃ ┃       ┃ ┃       ┃   ┣━┳ MUL 
 48            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┣━┳ ADD 
 49            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
 50            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
 51            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 52            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 53            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 54            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 56            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 57            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58            ┃ ┃ ┃       ┃ ┃       ┃   ┗━┳ ADD 
 59            ┃ ┃ ┃       ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 60            ┃ ┃ ┃       ┃ ┃       ┃     ┗━┳ MUL 
 61            ┃ ┃ ┃       ┃ ┃       ┃       ┣━┳ MUL 
 62            ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63            ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┗━┳ ADD 
 64            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┣━┳ MUL 
 65            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
 66            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
 67            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 68            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 72            ┃ ┃ ┃       ┃ ┃       ┃       ┗━┳ ADD 
 73            ┃ ┃ ┃       ┃ ┃       ┃         ┣━┳ MUL 
 74            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┣━┳ MUL 
 75            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
 76            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 77            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 78            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80            ┃ ┃ ┃       ┃ ┃       ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 81            ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 82            ┃ ┃ ┃       ┃ ┗━┳ SUB 
 83            ┃ ┃ ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 84            ┃ ┃ ┃       ┃   ┗━┳ DIV 
 85            ┃ ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 86            ┃ ┃ ┃       ┃     ┗━┳ ADD 
 87            ┃ ┃ ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 88            ┃ ┃ ┃       ┃       ┗━┳ EXP2 
 89            ┃ ┃ ┃       ┃         ┗━┳ MUL 
 90            ┃ ┃ ┃       ┃           ┣━┳ MUL 
 91            ┃ ┃ ┃       ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 92            ┃ ┃ ┃       ┃           ┃ ┗━┳ MUL 
 93            ┃ ┃ ┃       ┃           ┃   ┣━┳ MUL 
 94            ┃ ┃ ┃       ┃           ┃   ┃ ┣━┳ ADD 
 95            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┣━┳ MUL 
 96            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
 97            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 98            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
 99            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
100            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
101            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
102            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
103            ┃ ┃ ┃       ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
104            ┃ ┃ ┃       ┃           ┃   ┗━┳ ADD 
105            ┃ ┃ ┃       ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
106            ┃ ┃ ┃       ┃           ┃     ┗━┳ MUL 
107            ┃ ┃ ┃       ┃           ┃       ┣━┳ MUL 
108            ┃ ┃ ┃       ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
109            ┃ ┃ ┃       ┃           ┃       ┃ ┗━┳ ADD 
110            ┃ ┃ ┃       ┃           ┃       ┃   ┣━┳ MUL 
111            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┣━┳ MUL 
112            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
113            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
114            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
115            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
116            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
117            ┃ ┃ ┃       ┃           ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
118            ┃ ┃ ┃       ┃           ┃       ┗━┳ ADD 
119            ┃ ┃ ┃       ┃           ┃         ┣━┳ MUL 
120            ┃ ┃ ┃       ┃           ┃         ┃ ┣━┳ MUL 
121            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┣━┳ SUB 
122            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
123            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
124            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
125            ┃ ┃ ┃       ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
126            ┃ ┃ ┃       ┃           ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
127            ┃ ┃ ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
128            ┃ ┃ ┃       ┗━┳ MUL 
129            ┃ ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
130            ┃ ┃ ┃         ┗━┳ MUL 
131            ┃ ┃ ┃           ┣━┳ MUL 
132            ┃ ┃ ┃           ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
133            ┃ ┃ ┃           ┃ ┗━┳ ADD 
134            ┃ ┃ ┃           ┃   ┣━┳ MUL 
135            ┃ ┃ ┃           ┃   ┃ ┣━┳ MUL 
136            ┃ ┃ ┃           ┃   ┃ ┃ ┣━┳ SUB 
137            ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
138            ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
139            ┃ ┃ ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
140            ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
141            ┃ ┃ ┃           ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
142            ┃ ┃ ┃           ┗━┳ ADD 
143            ┃ ┃ ┃             ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
144            ┃ ┃ ┃             ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
145            ┃ ┃ ┗━┳ MUL 
146            ┃ ┃   ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
147            ┃ ┃   ┗━┳ MUL 
148            ┃ ┃     ┣━┳ ADD 
149            ┃ ┃     ┃ ┣━┳ MUL 
150            ┃ ┃     ┃ ┃ ┣━┳ MUL 
151            ┃ ┃     ┃ ┃ ┃ ┣━┳ SUB 
152            ┃ ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
153            ┃ ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
154            ┃ ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
155            ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
156            ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
157            ┃ ┃     ┗━┳ MUL 
158            ┃ ┃       ┣━┳ MUL 
159            ┃ ┃       ┃ ┣━┳ ADD 
160            ┃ ┃       ┃ ┃ ┣━┳ MUL 
161            ┃ ┃       ┃ ┃ ┃ ┣━┳ MUL 
162            ┃ ┃       ┃ ┃ ┃ ┃ ┣━┳ SUB 
163            ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
164            ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
165            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
166            ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
167            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
168            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
169            ┃ ┃       ┗━┳ MUL 
170            ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
171            ┃ ┃         ┗━┳ MUL 
172            ┃ ┃           ┣━┳ MUL 
173            ┃ ┃           ┃ ┣━┳ DIV 
174            ┃ ┃           ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
175            ┃ ┃           ┃ ┃ ┗━┳ ADD 
176            ┃ ┃           ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
177            ┃ ┃           ┃ ┃   ┗━┳ EXP2 
178            ┃ ┃           ┃ ┃     ┗━┳ MUL 
179            ┃ ┃           ┃ ┃       ┣━┳ MUL 
180            ┃ ┃           ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
181            ┃ ┃           ┃ ┃       ┃ ┗━┳ MUL 
182            ┃ ┃           ┃ ┃       ┃   ┣━┳ MUL 
183            ┃ ┃           ┃ ┃       ┃   ┃ ┣━┳ ADD 
184            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
185            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
186            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
187            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
188            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
189            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
190            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
191            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
192            ┃ ┃           ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
193            ┃ ┃           ┃ ┃       ┃   ┗━┳ ADD 
194            ┃ ┃           ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
195            ┃ ┃           ┃ ┃       ┃     ┗━┳ MUL 
196            ┃ ┃           ┃ ┃       ┃       ┣━┳ MUL 
197            ┃ ┃           ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
198            ┃ ┃           ┃ ┃       ┃       ┃ ┗━┳ ADD 
199            ┃ ┃           ┃ ┃       ┃       ┃   ┣━┳ MUL 
200            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
201            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
202            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
203            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
204            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
205            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
206            ┃ ┃           ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
207            ┃ ┃           ┃ ┃       ┃       ┗━┳ ADD 
208            ┃ ┃           ┃ ┃       ┃         ┣━┳ MUL 
209            ┃ ┃           ┃ ┃       ┃         ┃ ┣━┳ MUL 
210            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
211            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
212            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
213            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
214            ┃ ┃           ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
215            ┃ ┃           ┃ ┃       ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
216            ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
217            ┃ ┃           ┃ ┗━┳ SUB 
218            ┃ ┃           ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
219            ┃ ┃           ┃   ┗━┳ DIV 
220            ┃ ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
221            ┃ ┃           ┃     ┗━┳ ADD 
222            ┃ ┃           ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
223            ┃ ┃           ┃       ┗━┳ EXP2 
224            ┃ ┃           ┃         ┗━┳ MUL 
225            ┃ ┃           ┃           ┣━┳ MUL 
226            ┃ ┃           ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
227            ┃ ┃           ┃           ┃ ┗━┳ MUL 
228            ┃ ┃           ┃           ┃   ┣━┳ MUL 
229            ┃ ┃           ┃           ┃   ┃ ┣━┳ ADD 
230            ┃ ┃           ┃           ┃   ┃ ┃ ┣━┳ MUL 
231            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
232            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
233            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
234            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
235            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
236            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
237            ┃ ┃           ┃           ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
238            ┃ ┃           ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
239            ┃ ┃           ┃           ┃   ┗━┳ ADD 
240            ┃ ┃           ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
241            ┃ ┃           ┃           ┃     ┗━┳ MUL 
242            ┃ ┃           ┃           ┃       ┣━┳ MUL 
243            ┃ ┃           ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
244            ┃ ┃           ┃           ┃       ┃ ┗━┳ ADD 
245            ┃ ┃           ┃           ┃       ┃   ┣━┳ MUL 
246            ┃ ┃           ┃           ┃       ┃   ┃ ┣━┳ MUL 
247            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
248            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
249            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
250            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
251            ┃ ┃           ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
252            ┃ ┃           ┃           ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
253            ┃ ┃           ┃           ┃       ┗━┳ ADD 
254            ┃ ┃           ┃           ┃         ┣━┳ MUL 
255            ┃ ┃           ┃           ┃         ┃ ┣━┳ MUL 
256            ┃ ┃           ┃           ┃         ┃ ┃ ┣━┳ SUB 
257            ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
258            ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
259            ┃ ┃           ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
260            ┃ ┃           ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
261            ┃ ┃           ┃           ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
262            ┃ ┃           ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
263            ┃ ┃           ┗━┳ MUL 
264            ┃ ┃             ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
265            ┃ ┃             ┗━┳ MUL 
266            ┃ ┃               ┣━┳ MUL 
267            ┃ ┃               ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
268            ┃ ┃               ┃ ┗━┳ ADD 
269            ┃ ┃               ┃   ┣━┳ MUL 
270            ┃ ┃               ┃   ┃ ┣━┳ MUL 
271            ┃ ┃               ┃   ┃ ┃ ┣━┳ SUB 
272            ┃ ┃               ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
273            ┃ ┃               ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
274            ┃ ┃               ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
275            ┃ ┃               ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
276            ┃ ┃               ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
277            ┃ ┃               ┗━┳ ADD 
278            ┃ ┃                 ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
279            ┃ ┃                 ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
280            ┃ ┗━┳ MUL 
281            ┃   ┣━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
282            ┃   ┗━┳ MUL 
283            ┃     ┣━┳ ADD 
284            ┃     ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
285            ┃     ┃ ┗━┳ MUL 
286            ┃     ┃   ┣━┳ MUL 
287            ┃     ┃   ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
288            ┃     ┃   ┃ ┗━┳ ADD 
289            ┃     ┃   ┃   ┣━┳ MUL 
290            ┃     ┃   ┃   ┃ ┣━┳ MUL 
291            ┃     ┃   ┃   ┃ ┃ ┣━┳ SUB 
292            ┃     ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
293            ┃     ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
294            ┃     ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
295            ┃     ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
296            ┃     ┃   ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
297            ┃     ┃   ┗━┳ ADD 
298            ┃     ┃     ┣━┳ MUL 
299            ┃     ┃     ┃ ┣━┳ MUL 
300            ┃     ┃     ┃ ┃ ┣━┳ SUB 
301            ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
302            ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
303            ┃     ┃     ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
304            ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
305            ┃     ┃     ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
306            ┃     ┗━┳ MUL 
307            ┃       ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
308            ┃       ┗━┳ MUL 
309            ┃         ┣━┳ MUL 
310            ┃         ┃ ┣━┳ DIV 
311            ┃         ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
312            ┃         ┃ ┃ ┗━┳ ADD 
313            ┃         ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
314            ┃         ┃ ┃   ┗━┳ EXP2 
315            ┃         ┃ ┃     ┗━┳ MUL 
316            ┃         ┃ ┃       ┣━┳ MUL 
317            ┃         ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
318            ┃         ┃ ┃       ┃ ┗━┳ MUL 
319            ┃         ┃ ┃       ┃   ┣━┳ MUL 
320            ┃         ┃ ┃       ┃   ┃ ┣━┳ ADD 
321            ┃         ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
322            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
323            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
324            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
325            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
326            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
327            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
328            ┃         ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
329            ┃         ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
330            ┃         ┃ ┃       ┃   ┗━┳ ADD 
331            ┃         ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
332            ┃         ┃ ┃       ┃     ┗━┳ MUL 
333            ┃         ┃ ┃       ┃       ┣━┳ MUL 
334            ┃         ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
335            ┃         ┃ ┃       ┃       ┃ ┗━┳ ADD 
336            ┃         ┃ ┃       ┃       ┃   ┣━┳ MUL 
337            ┃         ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
338            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
339            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
340            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
341            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
342            ┃         ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
343            ┃         ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
344            ┃         ┃ ┃       ┃       ┗━┳ ADD 
345            ┃         ┃ ┃       ┃         ┣━┳ MUL 
346            ┃         ┃ ┃       ┃         ┃ ┣━┳ MUL 
347            ┃         ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
348            ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
349            ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
350            ┃         ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
351            ┃         ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
352            ┃         ┃ ┃       ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
353            ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
354            ┃         ┃ ┗━┳ SUB 
355            ┃         ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
356            ┃         ┃   ┗━┳ DIV 
357            ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
358            ┃         ┃     ┗━┳ ADD 
359            ┃         ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
360            ┃         ┃       ┗━┳ EXP2 
361            ┃         ┃         ┗━┳ MUL 
362            ┃         ┃           ┣━┳ MUL 
363            ┃         ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
364            ┃         ┃           ┃ ┗━┳ MUL 
365            ┃         ┃           ┃   ┣━┳ MUL 
366            ┃         ┃           ┃   ┃ ┣━┳ ADD 
367            ┃         ┃           ┃   ┃ ┃ ┣━┳ MUL 
368            ┃         ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
369            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
370            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
371            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
372            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
373            ┃         ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
374            ┃         ┃           ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
375            ┃         ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
376            ┃         ┃           ┃   ┗━┳ ADD 
377            ┃         ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
378            ┃         ┃           ┃     ┗━┳ MUL 
379            ┃         ┃           ┃       ┣━┳ MUL 
380            ┃         ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
381            ┃         ┃           ┃       ┃ ┗━┳ ADD 
382            ┃         ┃           ┃       ┃   ┣━┳ MUL 
383            ┃         ┃           ┃       ┃   ┃ ┣━┳ MUL 
384            ┃         ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
385            ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
386            ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
387            ┃         ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
388            ┃         ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
389            ┃         ┃           ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
390            ┃         ┃           ┃       ┗━┳ ADD 
391            ┃         ┃           ┃         ┣━┳ MUL 
392            ┃         ┃           ┃         ┃ ┣━┳ MUL 
393            ┃         ┃           ┃         ┃ ┃ ┣━┳ SUB 
394            ┃         ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
395            ┃         ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
396            ┃         ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
397            ┃         ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
398            ┃         ┃           ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
399            ┃         ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
400            ┃         ┗━┳ MUL 
401            ┃           ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
402            ┃           ┗━┳ MUL 
403            ┃             ┣━┳ MUL 
404            ┃             ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
405            ┃             ┃ ┗━┳ ADD 
406            ┃             ┃   ┣━┳ MUL 
407            ┃             ┃   ┃ ┣━┳ MUL 
408            ┃             ┃   ┃ ┃ ┣━┳ SUB 
409            ┃             ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
410            ┃             ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
411            ┃             ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
412            ┃             ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
413            ┃             ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
414            ┃             ┗━┳ ADD 
415            ┃               ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
416            ┃               ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
417            ┗━┳ MUL 
418              ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
419              ┗━┳ MUL 
420                ┣━┳ ADD 
421                ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
422                ┃ ┗━┳ SUB 
423                ┃   ┣━┳ MUL 
424                ┃   ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
425                ┃   ┃ ┗━┳ DIV 
426                ┃   ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
427                ┃   ┃   ┗━┳ ADD 
428                ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
429                ┃   ┃     ┗━┳ EXP2 
430                ┃   ┃       ┗━┳ MUL 
431                ┃   ┃         ┣━┳ MUL 
432                ┃   ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
433                ┃   ┃         ┃ ┗━┳ MUL 
434                ┃   ┃         ┃   ┣━┳ MUL 
435                ┃   ┃         ┃   ┃ ┣━┳ ADD 
436                ┃   ┃         ┃   ┃ ┃ ┣━┳ MUL 
437                ┃   ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
438                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
439                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
440                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
441                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
442                ┃   ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
443                ┃   ┃         ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
444                ┃   ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
445                ┃   ┃         ┃   ┗━┳ ADD 
446                ┃   ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
447                ┃   ┃         ┃     ┗━┳ MUL 
448                ┃   ┃         ┃       ┣━┳ MUL 
449                ┃   ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
450                ┃   ┃         ┃       ┃ ┗━┳ ADD 
451                ┃   ┃         ┃       ┃   ┣━┳ MUL 
452                ┃   ┃         ┃       ┃   ┃ ┣━┳ MUL 
453                ┃   ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
454                ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
455                ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
456                ┃   ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
457                ┃   ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
458                ┃   ┃         ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
459                ┃   ┃         ┃       ┗━┳ ADD 
460                ┃   ┃         ┃         ┣━┳ MUL 
461                ┃   ┃         ┃         ┃ ┣━┳ MUL 
462                ┃   ┃         ┃         ┃ ┃ ┣━┳ SUB 
463                ┃   ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(16384, 64, 8, 1), offset=0, mask=None, contiguous=True),)))
464                ┃   ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
465                ┃   ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
466                ┃   ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
467                ┃   ┃         ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
468                ┃   ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
469                ┃   ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
470                ┗━┳ ADD 
471                  ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
472                  ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 8, 8), strides=(25600, 100, 10, 1), offset=11, mask=None, contiguous=False),)))
 256  512    8    8
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 256  512    8    8
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  512    8    8    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   8   16  512    8    8    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8   16  512    2    8    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    8    2  512    2    8    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   8    2    2  512    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    2    2  512    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8    2    2    8   64    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    2    8   64    2    8    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 276
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 512, 512, 1, 1, 1), strides=(0, 0, 262144, 512, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 3, 512, 512, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 4, 514, 4, 514), strides=(0, 262144, 0, 512, 0, 1), offset=-513, mask=((0, 1), (0, 128), (0, 4), (1, 513), (0, 4), (1, 513)), contiguous=False), View(shape=(1, 1, 3, 512, 512, 128, 3, 3), strides=(0, 0, 0, 2056, 1, 4227136, 1058840, 515), offset=0, mask=None, contiguous=False))))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 512, 512, 128, 3, 3), strides=(0, 0, 1152, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 512, 512, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 512, 512, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 512, 512, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   3  512  512  128    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   3  512  512    8   16    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   3  128  512    8   16    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128  512    8   16    3    3    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128  512    2   16    3    3    4    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128  512    2    4    3    3    4    3    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128  128    4    2    4    3    3    4    3    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 128  128    2    2    2    4    3    3    4    3    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128   64    2    2    2    2    4    3    3    4    3    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 128    8    2    2    2    8    2    4    3    3    4    3    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 128    8    2    2    8    2    2    4    3    3    4    3    4    4
testing ast 277
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 1, 1, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 64, 1, 1, 64, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 4, 58, 4, 58), strides=(200704, 3136, 0, 56, 0, 1), offset=-57, mask=((0, 2), (0, 64), (0, 4), (1, 57), (0, 4), (1, 57)), contiguous=False), View(shape=(2, 1, 64, 56, 56, 64, 3, 3), strides=(3444736, 0, 0, 232, 1, 53824, 13688, 59), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 64, 56, 56, 64, 3, 3), strides=(200704, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   64    3    3    2   56   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
  64   64    3    3    8    2    7   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   32    3    3    8    2    7   56    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64   32    3    8    2    7   56    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   32    3    2    2    7   56    2    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  64   32    3    2    2   56    2    3    4    7
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16   32    3    4    2    2   56    2    3    4    7
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  16   32    3    2    2    2    2   56    2    3    4    7
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8)]
  16   32    3    2    2    2    8    2    7    2    3    4    7
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   32    3    2    2    2    2    8    2    7    2    3    4    7
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   8   32    3    2    2    2    2    8    2    7    2    3    4    7
testing ast 278
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 2048, 0, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 144, 1, 32, 64, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 4, 34, 4, 66), strides=(0, 2048, 0, 64, 0, 1), offset=-65, mask=((0, 1), (0, 144), (0, 4), (1, 33), (0, 4), (1, 65)), contiguous=False), View(shape=(1, 144, 1, 32, 64, 1, 3, 3), strides=(0, 35904, 0, 264, 1, 0, 9240, 67), offset=0, mask=None, contiguous=False))))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 144, 1, 32, 64, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 4, 34, 4, 66), strides=(0, 2048, 0, 64, 0, 1), offset=-65, mask=((0, 1), (0, 144), (0, 4), (1, 33), (0, 4), (1, 65)), contiguous=False), View(shape=(1, 144, 1, 32, 64, 1, 3, 3), strides=(0, 35904, 0, 264, 1, 0, 9240, 67), offset=0, mask=None, contiguous=False))))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 32, 64, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 144   32   64    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
 144    2   64   16    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 144    2   64    8    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 144   64    8    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 144   64    8    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
 144   64    2    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  72   64    2    2    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  24   64    2    2    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  24   32    2    2    2    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  24    2    2    2    2   16    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    2    2    2    2   16    3    2    2    3    4    3
testing ast 279
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 3, 1, 2), strides=(0, 0, 6, 0, 0, 2, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 3, 1, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 3, 1, 2), strides=(231, 0, 0, 7, 1, 77, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 3, 1, 2), strides=(396, 0, 66, 6, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    3    2    4   11    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   6    3    2    4   11    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   6    2    4   11    6    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    4   11    6    3    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 280
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 7, 1, 1, 1), strides=(462, 0, 77, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 11, 7, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 7, 3, 1, 1), strides=(231, 0, 0, 7, 1, 77, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 7, 3, 1, 1), strides=(0, 0, 3, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   77    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   6   77    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   6   77    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  77    3    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96    3    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  48    2    3    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  12    2    3    4    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   6    2    3    4    6    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    2    2    3    4    6    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    2    3    3    4    6    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    3    2    3    4    6    4    2
testing ast 281
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 2, 1, 13), strides=(26, 13, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (6, 2, 1, 13)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 2, 5, 14), strides=(90, 45, 1, 5), offset=0, mask=((0, 6), (0, 2), (0, 5), (0, 9)), contiguous=False), View(shape=(6, 2, 78), strides=(140, 70, 1), offset=0, mask=((0, 6), (0, 2), (0, 70)), contiguous=False), View(shape=(6, 2, 6, 13), strides=(156, 78, 13, 1), offset=0, mask=None, contiguous=True))))
   6    2   13    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   6   13    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13    6    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
  13    6    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  13    2    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
testing ast 282
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 1), strides=(99, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (2, 99, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384), strides=(38016, 384, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384), strides=(99, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384), strides=(38016, 384, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384), strides=(99, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0026041666666666665, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 198  384
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  66  384    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  33  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  33   32   12    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  33    8   12    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  33   12    3    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  11    3   12    3    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 283
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(4, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ DIV 
  4    ┃ ┃ ┣━┳ EXP2 
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━┳ SUB 
  7    ┃ ┃ ┃   ┃ ┣━┳ MUL 
  8    ┃ ┃ ┃   ┃ ┃ ┣━┳ SUM (2, 4, 1, 1, 1)
  9    ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ MUL 
 10    ┃ ┃ ┃   ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 11    ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 12    ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃   ┃ ┗━┳ MUL 
 14    ┃ ┃ ┃   ┃   ┣━┳ SUM (2, 4, 1, 1, 1)
 15    ┃ ┃ ┃   ┃   ┃ ┗━┳ MUL 
 16    ┃ ┃ ┃   ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 17    ┃ ┃ ┃   ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 18    ┃ ┃ ┃   ┃   ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┃ ┗━┳ EXP2 
 21    ┃ ┃   ┗━┳ MUL 
 22    ┃ ┃     ┣━┳ SUB 
 23    ┃ ┃     ┃ ┣━┳ MUL 
 24    ┃ ┃     ┃ ┃ ┣━┳ SUM (2, 4, 1, 1, 1)
 25    ┃ ┃     ┃ ┃ ┃ ┗━┳ MUL 
 26    ┃ ┃     ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 27    ┃ ┃     ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 28    ┃ ┃     ┃ ┃ ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29    ┃ ┃     ┃ ┗━┳ MUL 
 30    ┃ ┃     ┃   ┣━┳ SUM (2, 4, 1, 1, 1)
 31    ┃ ┃     ┃   ┃ ┗━┳ MUL 
 32    ┃ ┃     ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 33    ┃ ┃     ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 34    ┃ ┃     ┃   ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35    ┃ ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36    ┃ ┗━┳ CAST (dtypes.float, False)
 37    ┃   ┗━┳ NEG 
 38    ┃     ┗━┳ CMPLT 
 39    ┃       ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(4, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 40    ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41    ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4    4    2
testing ast 284
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 14, 1, 1), strides=(1008, 504, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 36, 14, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 14, 3, 2), strides=(6160, 3080, 84, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 14, 3, 2), strides=(1008, 504, 14, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   36   14    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  64   12   14    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   12   14    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   12   14    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32   12   14    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   12   14    2    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  16    4   14    2    3    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   14    2   16    3    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   14    2   16    3    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8)]
   2   14    2    2    8    3    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   2   14    2    2    2    4    3    2    2    3    3    2
testing ast 285
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 1), strides=(594, 99, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 6, 99, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99), strides=(58806, 9801, 99, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99), strides=(594, 99, 1, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 99, 99), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1188   99
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
 297    4   99
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 297   99    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  99   99    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   99    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64    2   99    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    2   99    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    2    2   99    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    2    2   99    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 286
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1), strides=(64, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 64, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1280), strides=(81920, 1, 64), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.00078125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   64 1280
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   2   64   32   40
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   32   32   40    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   32   40    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  32   32   10    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   32   10    2    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   32   10    2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   32   10    2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 287
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 10), strides=(0, 10, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 10)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(100, 10, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(0, 10, 1), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 100   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   10    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   10    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    8   10    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    8    4    2   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 288
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=61824, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 289
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(56448, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (2, 1, 1152, 7, 7, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 192, 1, 1), strides=(9408, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 192, 1, 1), strides=(0, 0, 1, 0, 0, 1152, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━┳ DIV 
 20      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┗━┳ ADD 
 22        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┗━┳ EXP2 
 24          ┗━┳ MUL 
 25            ┣━┳ ADD 
 26            ┃ ┣━┳ MUL 
 27            ┃ ┃ ┣━┳ MUL 
 28            ┃ ┃ ┃ ┣━┳ SUB 
 29            ┃ ┃ ┃ ┃ ┣━┳ SUM (2, 1, 1152, 7, 7, 1, 1, 1)
 30            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 31            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 192, 1, 1), strides=(9408, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 192, 1, 1), strides=(0, 0, 1, 0, 0, 1152, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┗━┳ SQRT 
 36            ┃ ┃   ┗━┳ DIV 
 37            ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38            ┃ ┃     ┗━┳ ADD 
 39            ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1152   49  192
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  288   49  192    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 288   49  192    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  36   49    8  192    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  36   49    8   48    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  36   49    8   12    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  18   49    8    2   12    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  18   49    8    2    4    3    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   9   49    8    2    4    3    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   9   64    8    2    4    3    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9   32    8    2    2    4    3    4    2    4    4    2
testing ast 290
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 1, 8, 1, 8), strides=(4096, 64, 0, 8, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ CMPLT 
  4    ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 1, 8, 1, 8), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 1, 8, 1, 8), strides=(4096, 64, 0, 8, 0, 1), offset=0, mask=None, contiguous=True),)))
  6    ┗━┳ SUM (32, 64, 1, 8, 1, 8)
  7      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 3, 9, 3, 9), strides=(20736, 324, 3, 54, 1, 9), offset=0, mask=((0, 32), (0, 64), (0, 3), (0, 6), (0, 3), (0, 6)), contiguous=False), View(shape=(32, 64, 32, 32), strides=(46656, 729, 27, 1), offset=0, mask=((0, 32), (0, 64), (0, 27), (0, 27)), contiguous=False), View(shape=(32, 64, 4, 8, 4, 8), strides=(65536, 1024, 256, 32, 8, 1), offset=0, mask=None, contiguous=True))))
  32   64    8    8    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  32   64    2    8    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   64    2    8    4    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  16   64    8    4    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  16   64    4    8    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  16   64    4    2    4    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16   64    4    2    4    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16   64    4    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  16   64    2    2    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16   32    2    2    2    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  16    2    2    2    2    2   16    2    2    4    4    4
testing ast 291
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 53, 12, 1, 1), strides=(1272, 636, 12, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 53, 12, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 53, 12, 5, 5), strides=(6160, 3080, 56, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  64   53   12    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   53   12    5    5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   53   12    5    5    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   53   12    4    5    5    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
   2   53    4    4    5    5    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   53    2    4    5    5    4    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   53    2    2    5    5    4    2    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   53    2    5    5    4    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2   64    2    5    5    4    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64    2    2    5    5    4    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    2    2   16    5    5    4    2    3    2    2    2
testing ast 292
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 4, 1, 11, 1, 28), strides=(1232, 0, 0, 308, 0, 28, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 4, 1, 11, 1, 28)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 4, 3, 5, 2, 3, 26, 1), strides=(4680, 0, 0, 9, 3, 936, 0, 1, 36, 0), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 3), (0, 5), (0, 1), (0, 3), (0, 26), (0, 1)), contiguous=False), View(shape=(4, 1, 1, 4, 3, 12, 3, 29), strides=(9360, 0, 0, 2340, 780, 78, 26, 1), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 3), (0, 10), (0, 3), (0, 26)), contiguous=False), View(shape=(4, 1, 1, 4, 44, 112), strides=(12528, 0, 0, 3132, 87, 1), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 36), (0, 87)), contiguous=False), View(shape=(4, 1, 1, 4, 4, 11, 4, 28), strides=(19712, 0, 0, 4928, 1232, 112, 28, 1), offset=0, mask=None, contiguous=True))))
   4    4   11   28    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2   11   28    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   11   28    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32)]
   2   11   32    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2   11   32    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2   11   32    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   11   16    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2   11    8    2    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  11    8    2    2    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  11    2    2    8    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11    2    8    2    2    4    4    4    2
testing ast 293
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 256, 1), strides=(2048, 256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (2, 8, 256, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 256, 77), strides=(157696, 19712, 77, 1), offset=0, mask=None, contiguous=True),)))
4096   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
 256   16   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 256    8   77    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  16   16   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   16    2   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    8    2   77    2    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    8    2   77    2    8    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    8    2   77    2    8    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    8   77    2    8    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2   77    2    8    2    2    2    2
testing ast 294
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 1, 256, 16, 16, 1, 1, 1), strides=(65536, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (500, 1, 256, 16, 16, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 64, 4, 18, 4, 18), strides=(16384, 256, 0, 16, 0, 1), offset=-17, mask=((0, 500), (0, 64), (0, 4), (1, 17), (0, 4), (1, 17)), contiguous=False), View(shape=(500, 1, 256, 16, 16, 64, 3, 3), strides=(331776, 0, 0, 72, 1, 5184, 1368, 19), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 1, 256, 16, 16, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 500  256   16   16   64    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
 500  256    2   16    8   64    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 500   64    2   16    8   64    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
 500   64    2   16   64    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 512   64    2   16   64    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 512   64    2   16   64    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
 512   64    2    8    2   64    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 512   64    8    2    2   64    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 512   64    4    2    2   64    3    4    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
 512   64    4    2    2   64    3    4    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 512   64    2    2    2    2   64    3    4    8    3    2
testing ast 295
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 1, 7, 7, 1, 1), strides=(56448, 0, 49, 0, 7, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1152, 1, 7, 7, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 320, 7, 7, 1, 1), strides=(0, 0, 1, 1152, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1152, 320, 7, 7, 1, 1), strides=(15680, 0, 0, 49, 7, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1152   49  320
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  288   49  320    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 288   49  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  36   49    8  320    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  36   49    8   80    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  36   49    8   20    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  18   49    8    2   20    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  18   49    8    2    4    5    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   9   49    8    2    4    5    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   9   64    8    2    4    5    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9   32    8    2    2    4    5    4    2    4    4    2
testing ast 296
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 26, 1, 1, 1, 1, 1, 4, 3, 3), strides=(4680, 936, 36, 0, 0, 0, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 5, 26, 1, 1, 1, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 26, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 26, 1, 1, 1, 4, 1, 4, 3, 3), strides=(520, 26, 1, 0, 0, 0, 130, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4  130    4    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   65    4    9    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  65    4    9    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  65    4    9    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  65    2    9    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  65    9    2    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  65    3    2    2    2    4    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
   5    3    2    2   13    2    4    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5    3    2   13    2    4    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=13)]
testing ast 297
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 5, 3, 4), strides=(720, 240, 60, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 3, 4, 1, 1, 1, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 3, 1, 5, 3, 4), strides=(0, 0, 0, 0, 5, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 3, 1, 5, 3, 4), strides=(432, 144, 36, 0, 12, 0, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
  24    5   12    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8    5   12    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5   12    3    3    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5   12    3    8    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   5    4    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 298
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 1, 1, 1), strides=(50176, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 256, 14, 14, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 4, 16, 4, 16), strides=(50176, 196, 0, 14, 0, 1), offset=-15, mask=((0, 2), (0, 256), (0, 4), (1, 15), (0, 4), (1, 15)), contiguous=False), View(shape=(2, 1, 256, 14, 14, 256, 3, 3), strides=(1048576, 0, 0, 64, 1, 4096, 1088, 17), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
   2  256   14   14  256    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2  256   14   14    4   64    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2  256   14    7    4   64    3    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256   14    7    4   64    3    3    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256   14    7   64    3    3    2    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256   14    7   16    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256   14    7   16    3    2    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64   14    7    4   16    3    2    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64    7    7    4    2   16    3    2    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    7    7    4    2    8    2    3    2    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    7    7    4    2    2    8    2    3    2    2    4    4    3
testing ast 299
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 1, 1, 256, 64, 1, 1), strides=(98304, 16384, 0, 0, 64, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (6, 6, 1, 1, 256, 64, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 256, 64, 4, 4), strides=(3145728, 524288, 1024, 0, 0, 16, 4, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 256, 64, 4, 4), strides=(12582912, 2097152, 4096, 0, 16, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
  36  256   64  512   16
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
  36  256    4   16  512   16
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  36  256    2   16  512   16    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  36  256   16  512   16    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64  256   16  512   16    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  64  256   16  512    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  256   16  128    4    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  256   16   32    4    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  64  256    8    2   32    4    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  64   16    8    2   16   32    4    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  64   16    8   16    2   32    4    2    2    4    4    4
testing ast 300
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(1936, 121, 11, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ CAST (dtypes.float, False)
 10          ┃ ┗━┳ CMPLT 
 11          ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃   ┗━┳ MAX 
 13          ┃     ┣━┳ ADD 
 14          ┃     ┃ ┣━┳ MUL 
 15          ┃     ┃ ┃ ┣━┳ MUL 
 16          ┃     ┃ ┃ ┃ ┣━┳ SUB 
 17          ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(1936, 121, 11, 1), offset=0, mask=None, contiguous=True),)))
 18          ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19          ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 20          ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21          ┃     ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 22          ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23          ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 2, 5, 2), strides=(1600, 100, 20, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(128, 16, 11, 11), strides=(1600, 100, 10, 1), offset=0, mask=((0, 128), (0, 16), (0, 10), (0, 10)), contiguous=False))))
  16  128   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   32    4   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32    4   11   11    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    4   11   11    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  32    4   11    4    4   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4   11    4    4   11
testing ast 301
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 9, 1, 1), strides=(648, 324, 9, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 36, 9, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 9, 3, 3), strides=(6160, 3080, 84, 3, 28, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 9, 3, 3), strides=(648, 324, 9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   36    9    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3)]
  64   36    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64   36    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64   18    2    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   18    2    2    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   18    2    2    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  32    6    2    2    3    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    6    2    2    4    3    3    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    3    2    2    4    3    3    3    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8    3    2    4    2    3    3    3    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
   8    3    2    2    4    3    3    3    3    3    2
testing ast 302
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 3, 5, 1, 1, 1, 1, 4, 3, 3), strides=(1620, 540, 180, 36, 0, 0, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 3, 3, 5, 1, 1, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 3, 5, 1, 2, 4, 1, 4, 3, 3), strides=(0, 0, 0, 288, 0, 144, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 3, 5, 8), strides=(315, 3, 1, 63, 9), offset=0, mask=((0, 4), (0, 3), (0, 3), (0, 5), (0, 7)), contiguous=False), View(shape=(4, 3, 3, 5, 1, 2, 4, 1, 4, 3, 3), strides=(360, 120, 40, 8, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
   4    9    5    4    9    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    9    5    4    9    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    5    4    9    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   9    5    9    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
   9    5    3    4    2    4    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   9    5    3    2    2    4    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    5    3    2    2    4    2    2    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   3    5    2    2    4    2    2    3    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 303
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   5
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5
testing ast 304
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1152, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
1152    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 384    2   49    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 192    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  96    2    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24    2    2   49    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6    2    2   49    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    2   49    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 305
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 1), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MUL 
  3    ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 1), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  4    ┃ ┗━┳ SUB 
  5    ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 1), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  7    ┗━┳ SUM (2, 240, 1, 1)
  8      ┗━┳ MUL 
  9        ┣━┳ MUL 
 10        ┃ ┣━┳ ADD 
 11        ┃ ┃ ┣━┳ MUL 
 12        ┃ ┃ ┃ ┣━┳ MUL 
 13        ┃ ┃ ┃ ┃ ┣━┳ SUB 
 14        ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 15        ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16        ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17        ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19        ┃ ┗━┳ DIV 
 20        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21        ┃   ┗━┳ ADD 
 22        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┃     ┗━┳ EXP2 
 24        ┃       ┗━┳ MUL 
 25        ┃         ┣━┳ ADD 
 26        ┃         ┃ ┣━┳ MUL 
 27        ┃         ┃ ┃ ┣━┳ MUL 
 28        ┃         ┃ ┃ ┃ ┣━┳ SUB 
 29        ┃         ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 30        ┃         ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 31        ┃         ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32        ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 33        ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34        ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35        ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
   2  240  784
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   15   16  784
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   15    8  784    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  15    8  784    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  15    8    8   98    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  15    8   98    2    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  15    2   98    2    2    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  15   98    2    2    8    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3   98    2    2    8    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 306
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 2, 4, 1, 4, 1, 1), strides=(0, 0, 0, 0, 0, 16, 4, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 2, 4, 1, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 7, 1, 1, 2, 4, 1, 4, 1, 1), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 7, 1, 8), strides=(0, 7, 1, 0, 77), offset=0, mask=((0, 1), (0, 11), (0, 7), (0, 1), (0, 6)), contiguous=False), View(shape=(1, 11, 7, 1, 1, 2, 4, 1, 4, 1, 1), strides=(0, 56, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
   2    4    4   77
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4   77    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   77    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   77    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   77    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  77    4    2    2    2
testing ast 307
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 13, 1), strides=(0, 169, 13, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ SUM (1, 16, 13, 13, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 13, 64), strides=(0, 64, 3072, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 13, 64), strides=(0, 64, 0, 1024, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 13, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 13, 1), strides=(0, 0, 13, 1, 0), offset=0, mask=None, contiguous=False),)))
  16   13   13   64
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   13   13   32    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   13   13   32    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13   13   32    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  13   13    8    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  13   13    2    2    4    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
  13   13    2    2    4    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.LOCAL, axis=1, amt=13)]
testing ast 308
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 1152, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ ADD 
 15      ┃ ┃   ┃     ┣━┳ MUL 
 16      ┃ ┃   ┃     ┃ ┣━┳ DIV 
 17      ┃ ┃   ┃     ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃ ┃ ┗━┳ ADD 
 19      ┃ ┃   ┃     ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┃   ┃     ┃ ┃   ┗━┳ EXP2 
 21      ┃ ┃   ┃     ┃ ┃     ┗━┳ MUL 
 22      ┃ ┃   ┃     ┃ ┃       ┣━┳ ADD 
 23      ┃ ┃   ┃     ┃ ┃       ┃ ┣━┳ MUL 
 24      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┣━┳ MUL 
 25      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 26      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 27      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30      ┃ ┃   ┃     ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃ ┃   ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃ ┃   ┃     ┃ ┗━┳ ADD 
 33      ┃ ┃   ┃     ┃   ┣━┳ MUL 
 34      ┃ ┃   ┃     ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┃ ┃   ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 36      ┃ ┃   ┃     ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃ ┃   ┃     ┗━┳ MUL 
 38      ┃ ┃   ┃       ┣━┳ MUL 
 39      ┃ ┃   ┃       ┃ ┣━┳ DIV 
 40      ┃ ┃   ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41      ┃ ┃   ┃       ┃ ┃ ┗━┳ ADD 
 42      ┃ ┃   ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43      ┃ ┃   ┃       ┃ ┃   ┗━┳ EXP2 
 44      ┃ ┃   ┃       ┃ ┃     ┗━┳ MUL 
 45      ┃ ┃   ┃       ┃ ┃       ┣━┳ ADD 
 46      ┃ ┃   ┃       ┃ ┃       ┃ ┣━┳ MUL 
 47      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┣━┳ MUL 
 48      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 49      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 50      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 51      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃ ┃   ┃       ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54      ┃ ┃   ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55      ┃ ┃   ┃       ┃ ┗━┳ SUB 
 56      ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 57      ┃ ┃   ┃       ┃   ┗━┳ DIV 
 58      ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 59      ┃ ┃   ┃       ┃     ┗━┳ ADD 
 60      ┃ ┃   ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61      ┃ ┃   ┃       ┃       ┗━┳ EXP2 
 62      ┃ ┃   ┃       ┃         ┗━┳ MUL 
 63      ┃ ┃   ┃       ┃           ┣━┳ ADD 
 64      ┃ ┃   ┃       ┃           ┃ ┣━┳ MUL 
 65      ┃ ┃   ┃       ┃           ┃ ┃ ┣━┳ MUL 
 66      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┣━┳ SUB 
 67      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 68      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70      ┃ ┃   ┃       ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71      ┃ ┃   ┃       ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 72      ┃ ┃   ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 73      ┃ ┃   ┃       ┗━┳ MUL 
 74      ┃ ┃   ┃         ┣━┳ ADD 
 75      ┃ ┃   ┃         ┃ ┣━┳ MUL 
 76      ┃ ┃   ┃         ┃ ┃ ┣━┳ MUL 
 77      ┃ ┃   ┃         ┃ ┃ ┃ ┣━┳ SUB 
 78      ┃ ┃   ┃         ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 79      ┃ ┃   ┃         ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80      ┃ ┃   ┃         ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 81      ┃ ┃   ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 82      ┃ ┃   ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 83      ┃ ┃   ┃         ┗━┳ ADD 
 84      ┃ ┃   ┃           ┣━┳ MUL 
 85      ┃ ┃   ┃           ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 86      ┃ ┃   ┃           ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 87      ┃ ┃   ┃           ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(1152, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 88      ┃ ┃   ┗━┳ MUL 
 89      ┃ ┃     ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 90      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 91      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 92      ┗━┳ MUL 
 93        ┣━┳ ADD 
 94        ┃ ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 95        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 96        ┗━┳ ADD 
 97          ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 98          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1152    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 384    2   49    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 192    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  96    2    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24    2    2   49    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6    2    2   49    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    2   49    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 309
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ MUL 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUB 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 512, 7, 7, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 4, 9, 4, 9), strides=(0, 49, 0, 7, 0, 1), offset=-8, mask=((0, 1), (0, 512), (0, 4), (1, 8), (0, 4), (1, 8)), contiguous=False), View(shape=(1, 1, 512, 7, 7, 512, 3, 3), strides=(0, 0, 0, 36, 1, 1296, 360, 10), offset=0, mask=None, contiguous=False))))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 512, 3, 3), strides=(0, 0, 4608, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃ ┗━┳ SQRT 
 14    ┃ ┃ ┃   ┗━┳ DIV 
 15    ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃ ┃     ┗━┳ ADD 
 17    ┃ ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 21    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512    7    7  512    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128    7    7  512    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 128    7  512    3    3    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  16    7    8  512    3    3    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16    7    8  512    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    7    8    2  512    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   8    7    4    2  512    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8    7    2    2    2  512    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8    7    2    2    2    8   64    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    7    2    2    2    2    8   64    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   4    7    2    2    2    2    8   64    3    4    7    3    2
testing ast 310
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4), strides=(4, 1), offset=0, mask=None, contiguous=True),)))
   2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4
testing ast 311
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 1, 400), strides=(400, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (69, 1, 400)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10, 400), strides=(0, 1, 10), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10, 400), strides=(10, 1, 0), offset=0, mask=None, contiguous=False),)))
  69  400   10
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  69  416   10
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  23  416   10    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  23  208   10    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  23   52    4   10    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  23   13    4   10    3    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  23   13    2   10    3    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 312
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=26880, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 313
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPLT 
  5      ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(802816, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
  7      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(831744, 12996, 114, 1), offset=115, mask=None, contiguous=False),)))
  64    2  112  112
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16)]
  64   16    2  112    7
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   16    2  112    7    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16    2  112    7    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
   8   16   16    2    7    7    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   16    2    7    7    4    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   16    7    7    4    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   16    7    7    4    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   16    7    7    4    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 314
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 8, 16, 1, 1, 1), strides=(0, 0, 128, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 80, 8, 16, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 8, 16, 480, 1, 1), strides=(0, 0, 0, 16, 1, 128, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 8, 16, 480, 1, 1), strides=(0, 0, 480, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 8, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 80, 8, 16, 1, 1, 1), strides=(0, 0, 128, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  80  128  480
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  80   32  480    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40   32  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  40    8    4  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40    8    4  120    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40    8    4   30    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  40    8    2   30    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  40    4    2    2   30    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  40    2    2    2    2   30    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    2    2    2    2    8   30    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    2    8    2   30    4    2    4    4    2
testing ast 315
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 45, 1, 65), strides=(2925, 65, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 45, 1, 65)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 45, 100, 65), strides=(6500, 0, 1, 100), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 45, 100, 65), strides=(4500, 100, 1, 0), offset=0, mask=None, contiguous=False),)))
   8   45   65  100
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
   8   64   65  100
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   64   65  100    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  64   65  100    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16   65    4  100    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   65    4  100    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   65    2  100    4    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   65    2  100    4    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2   96    2  100    4    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   96  100    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2    6   16  100    4    2    4    2    2    2
testing ast 316
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 7, 1, 1, 1), strides=(378, 0, 63, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 9, 7, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 7, 3, 3, 1), strides=(231, 0, 0, 7, 1, 77, 7, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 7, 3, 3, 1), strides=(0, 0, 9, 0, 0, 3, 1, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 9, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   63    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    3   63    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   63    2    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  63    2    3    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  63    2    3    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  21    2    3    3    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 317
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 45, 1, 10, 1, 12, 4, 1, 1, 1, 1), strides=(0, 480, 0, 48, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 45, 1, 10, 1, 12, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 45, 1, 10, 1, 12, 4, 17, 4, 1, 1), strides=(0, 680, 0, 68, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 45, 1, 10, 1, 12, 4, 17, 4, 1, 1), strides=(0, 0, 0, 3264, 0, 272, 1, 16, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
  45   10   12    4   68
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  45   10   12    2   68    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  45   10   12   68    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64   10   12   68    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64    5   12    2   68    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64    5   12    2   17    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    5   12    2    2   17    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32    5    6    2    2   17    2    2    4    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 38, in compile_hip
    raise RuntimeError("compile failed")
RuntimeError: compile failed
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
  32    5    6    2   17    2    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4    5    6    2    8   17    2    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   4    5    2    2    8    3   17    2    2    4    2    2
testing ast 318
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1,)
  2    ┗━┳ CAST (dtypes.int, False)
  3      ┗━┳ NEG 
  4        ┗━┳ CMPEQ 
  5          ┣━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  6          ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2,), strides=(1,), offset=0, mask=None, contiguous=True),)))
   2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2
testing ast 319
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.float, False)
  2    ┗━┳ ADD 
  3      ┣━┳ SUM (7, 1)
  4      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(8, 13), strides=(0, 0), offset=0, mask=((0, 8), (6, 13)), contiguous=False), View(shape=(7, 7), strides=(1, 14), offset=0, mask=None, contiguous=False))))
  5      ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(7, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    7
testing ast 320
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1)
  2    ┗━┳ CAST (dtypes.int, False)
  3      ┗━┳ NEG 
  4        ┗━┳ CMPLT 
  5          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32000), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6          ┗━┳ DIV 
  7            ┣━┳ CAST (dtypes.float, False)
  8            ┃ ┗━┳ ADD 
  9            ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 32000), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
 10            ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 125, 256), strides=(0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 1, 32000), strides=(0, 0, 1), offset=0, mask=None, contiguous=True))))
 11            ┗━┳ CAST (dtypes.float, False)
 12              ┗━┳ ADD 
 13                ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 32000), strides=(0, 0, 0), offset=31999, mask=None, contiguous=False),)))
 14                ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 125, 256), strides=(0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 1, 32000), strides=(0, 0, 0), offset=31999, mask=None, contiguous=False))))
32000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8 4000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
4000    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1000    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  125    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2  125    8    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 125    8    4    4    2
/tmp/comgr-cb3a93/input/<null>:314:12694: fatal error: bracket nesting level exceeded maximum of 256
/tmp/comgr-cb3a93/input/<null>:314:12694: note: use -fbracket-depth=N to increase maximum nesting level
1 error generated when compiling for gfx1100.

LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=UnaryOps.CAST, src=(LazyOp(op=UnaryOps.NEG, src=(LazyOp(op=BinaryOps.CMPLT, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32000), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BinaryOps.DIV, src=(LazyOp(op=UnaryOps.CAST, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 32000), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 125, 256), strides=(0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 1, 32000), strides=(0, 0, 1), offset=0, mask=None, contiguous=True)))))), arg=None),), arg=(dtypes.float, False)), LazyOp(op=UnaryOps.CAST, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 32000), strides=(0, 0, 0), offset=31999, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 125, 256), strides=(0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 1, 32000), strides=(0, 0, 0), offset=31999, mask=None, contiguous=False)))))), arg=None),), arg=(dtypes.float, False))), arg=None)), arg=None),), arg=None),), arg=(dtypes.int, False)),), arg=(1, 1, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
COMPILE FAILED!!
testing ast 321
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5      ┗━┳ EXP2 
  6        ┗━┳ MUL 
  7          ┣━┳ ADD 
  8          ┃ ┣━┳ SUM (1, 1, 1152, 1, 1, 1, 1, 1)
  9          ┃ ┃ ┗━┳ MUL 
 10          ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 48, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 48, 1, 1), strides=(0, 0, 1, 0, 0, 1152, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 13          ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1152   48
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  36   32   48
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   9   32   48    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   9   16   48    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   9   16    8    6    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9   16    8    4    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   9   16    2    4    2    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3   16    3    2    4    2    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 322
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1152, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ DIV 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━┳ ADD 
  7      ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃   ┗━┳ EXP2 
  9      ┃ ┃     ┗━┳ MUL 
 10      ┃ ┃       ┣━┳ ADD 
 11      ┃ ┃       ┃ ┣━┳ MUL 
 12      ┃ ┃       ┃ ┃ ┣━┳ MUL 
 13      ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 14      ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(93312, 81, 9, 1), offset=10, mask=None, contiguous=False),)))
 21      ┗━┳ MUL 
 22        ┣━┳ MUL 
 23        ┃ ┣━┳ DIV 
 24        ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25        ┃ ┃ ┗━┳ ADD 
 26        ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27        ┃ ┃   ┗━┳ EXP2 
 28        ┃ ┃     ┗━┳ MUL 
 29        ┃ ┃       ┣━┳ ADD 
 30        ┃ ┃       ┃ ┣━┳ MUL 
 31        ┃ ┃       ┃ ┃ ┣━┳ MUL 
 32        ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 33        ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 34        ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 35        ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36        ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 37        ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38        ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 39        ┃ ┗━┳ SUB 
 40        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41        ┃   ┗━┳ DIV 
 42        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43        ┃     ┗━┳ ADD 
 44        ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45        ┃       ┗━┳ EXP2 
 46        ┃         ┗━┳ MUL 
 47        ┃           ┣━┳ ADD 
 48        ┃           ┃ ┣━┳ MUL 
 49        ┃           ┃ ┃ ┣━┳ MUL 
 50        ┃           ┃ ┃ ┃ ┣━┳ SUB 
 51        ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 52        ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 53        ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54        ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 55        ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 56        ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 57        ┗━┳ MUL 
 58          ┣━┳ ADD 
 59          ┃ ┣━┳ MUL 
 60          ┃ ┃ ┣━┳ MUL 
 61          ┃ ┃ ┃ ┣━┳ SUB 
 62          ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 63          ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64          ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65          ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 66          ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 67          ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(93312, 81, 9, 1), offset=10, mask=None, contiguous=False),)))
1152    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  72   16    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  18   16    2    7    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   9   16    2    7    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9   16    2    7    4    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9   16    7    4    2    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    8    2    7    4    2    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   9    4    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    2    3    7    4    2    7    2    2
testing ast 323
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1000, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 2048), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━┳ ADD 
  6    ┃     ┣━┳ MUL 
  7    ┃     ┃ ┣━━ CONST ConstBuffer(val=0.04419417382415921, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 2048), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃     ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 2048), strides=(0, 2048, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃     ┗━━ CONST ConstBuffer(val=-0.022097086912079605, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 2048), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ ADD 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=0.044194173824159216, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
 14      ┗━━ CONST ConstBuffer(val=-0.022097086912079608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
1000 2048
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
1000    4  512
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 250    4  512    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 125    4  512    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 125    4    4  128    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 125    4  128    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 125  128    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
 125   32    4    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   32    4    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   32    4    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   32    4    4    2    4    4    2
testing ast 324
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 128, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ MUL 
 15      ┃ ┃   ┃     ┣━┳ CAST (dtypes.float, False)
 16      ┃ ┃   ┃     ┃ ┗━┳ CMPLT 
 17      ┃ ┃   ┃     ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 19      ┃ ┃   ┃     ┗━┳ ADD 
 20      ┃ ┃   ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 14, 2, 14, 2), strides=(25088, 196, 14, 0, 1, 0), offset=0, mask=((0, 2), (0, 128), (0, 14), (0, 1), (0, 14), (0, 1)), contiguous=False), View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True))))
 21      ┃ ┃   ┃       ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(115200, 900, 30, 1), offset=31, mask=None, contiguous=False),)))
 22      ┃ ┃   ┗━┳ MUL 
 23      ┃ ┃     ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 24      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26      ┗━┳ MUL 
 27        ┣━┳ ADD 
 28        ┃ ┣━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 29        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30        ┗━┳ ADD 
 31          ┣━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 32          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   8   16    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   16    2   28   28    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2   28   28    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 325
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 512, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ ADD 
  4      ┃ ┣━┳ ADD 
  5      ┃ ┃ ┣━┳ MUL 
  6      ┃ ┃ ┃ ┣━┳ MUL 
  7      ┃ ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃ ┃ ┃ ┗━┳ ADD 
  9      ┃ ┃ ┃ ┃   ┣━┳ MUL 
 10      ┃ ┃ ┃ ┃   ┃ ┣━┳ MUL 
 11      ┃ ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
 12      ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 13      ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15      ┃ ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃ ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃ ┃ ┃ ┗━┳ MUL 
 18      ┃ ┃ ┃   ┣━┳ MUL 
 19      ┃ ┃ ┃   ┃ ┣━┳ ADD 
 20      ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
 21      ┃ ┃ ┃   ┃ ┃ ┃ ┣━┳ MUL 
 22      ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 23      ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 24      ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26      ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 27      ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃ ┃ ┃   ┗━┳ MUL 
 30      ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃ ┃ ┃     ┗━┳ MUL 
 32      ┃ ┃ ┃       ┣━┳ MUL 
 33      ┃ ┃ ┃       ┃ ┣━┳ DIV 
 34      ┃ ┃ ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┃ ┃ ┃       ┃ ┃ ┗━┳ ADD 
 36      ┃ ┃ ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃ ┃ ┃       ┃ ┃   ┗━┳ EXP2 
 38      ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
 39      ┃ ┃ ┃       ┃ ┃       ┣━┳ MUL 
 40      ┃ ┃ ┃       ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41      ┃ ┃ ┃       ┃ ┃       ┃ ┗━┳ MUL 
 42      ┃ ┃ ┃       ┃ ┃       ┃   ┣━┳ MUL 
 43      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┣━┳ ADD 
 44      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
 45      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
 46      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 47      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 48      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 49      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 51      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52      ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃ ┃ ┃       ┃ ┃       ┃   ┗━┳ ADD 
 54      ┃ ┃ ┃       ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55      ┃ ┃ ┃       ┃ ┃       ┃     ┗━┳ MUL 
 56      ┃ ┃ ┃       ┃ ┃       ┃       ┣━┳ MUL 
 57      ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58      ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┗━┳ ADD 
 59      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┣━┳ MUL 
 60      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
 61      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
 62      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 63      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 66      ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 67      ┃ ┃ ┃       ┃ ┃       ┃       ┗━┳ ADD 
 68      ┃ ┃ ┃       ┃ ┃       ┃         ┣━┳ MUL 
 69      ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┣━┳ MUL 
 70      ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
 71      ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 72      ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 73      ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 74      ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 75      ┃ ┃ ┃       ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 76      ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 77      ┃ ┃ ┃       ┃ ┗━┳ SUB 
 78      ┃ ┃ ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79      ┃ ┃ ┃       ┃   ┗━┳ DIV 
 80      ┃ ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 81      ┃ ┃ ┃       ┃     ┗━┳ ADD 
 82      ┃ ┃ ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 83      ┃ ┃ ┃       ┃       ┗━┳ EXP2 
 84      ┃ ┃ ┃       ┃         ┗━┳ MUL 
 85      ┃ ┃ ┃       ┃           ┣━┳ MUL 
 86      ┃ ┃ ┃       ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 87      ┃ ┃ ┃       ┃           ┃ ┗━┳ MUL 
 88      ┃ ┃ ┃       ┃           ┃   ┣━┳ MUL 
 89      ┃ ┃ ┃       ┃           ┃   ┃ ┣━┳ ADD 
 90      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┣━┳ MUL 
 91      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
 92      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 93      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 94      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 95      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 96      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 97      ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 98      ┃ ┃ ┃       ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 99      ┃ ┃ ┃       ┃           ┃   ┗━┳ ADD 
100      ┃ ┃ ┃       ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
101      ┃ ┃ ┃       ┃           ┃     ┗━┳ MUL 
102      ┃ ┃ ┃       ┃           ┃       ┣━┳ MUL 
103      ┃ ┃ ┃       ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
104      ┃ ┃ ┃       ┃           ┃       ┃ ┗━┳ ADD 
105      ┃ ┃ ┃       ┃           ┃       ┃   ┣━┳ MUL 
106      ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┣━┳ MUL 
107      ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
108      ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
109      ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
110      ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
111      ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
112      ┃ ┃ ┃       ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
113      ┃ ┃ ┃       ┃           ┃       ┗━┳ ADD 
114      ┃ ┃ ┃       ┃           ┃         ┣━┳ MUL 
115      ┃ ┃ ┃       ┃           ┃         ┃ ┣━┳ MUL 
116      ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┣━┳ SUB 
117      ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
118      ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
119      ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
120      ┃ ┃ ┃       ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
121      ┃ ┃ ┃       ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
122      ┃ ┃ ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
123      ┃ ┃ ┃       ┗━┳ MUL 
124      ┃ ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
125      ┃ ┃ ┃         ┗━┳ MUL 
126      ┃ ┃ ┃           ┣━┳ MUL 
127      ┃ ┃ ┃           ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
128      ┃ ┃ ┃           ┃ ┗━┳ ADD 
129      ┃ ┃ ┃           ┃   ┣━┳ MUL 
130      ┃ ┃ ┃           ┃   ┃ ┣━┳ MUL 
131      ┃ ┃ ┃           ┃   ┃ ┃ ┣━┳ SUB 
132      ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
133      ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
134      ┃ ┃ ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
135      ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
136      ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
137      ┃ ┃ ┃           ┗━┳ MUL 
138      ┃ ┃ ┃             ┣━┳ DIV 
139      ┃ ┃ ┃             ┃ ┣━┳ CAST (dtypes.float, False)
140      ┃ ┃ ┃             ┃ ┃ ┗━┳ CMPEQ 
141      ┃ ┃ ┃             ┃ ┃   ┣━┳ ADD 
142      ┃ ┃ ┃             ┃ ┃   ┃ ┣━┳ MUL 
143      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┣━┳ MUL 
144      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
145      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
146      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
147      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
148      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
149      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
150      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
151      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
152      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
153      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
154      ┃ ┃ ┃             ┃ ┃   ┃ ┃ ┗━┳ ADD 
155      ┃ ┃ ┃             ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
156      ┃ ┃ ┃             ┃ ┃   ┃ ┃   ┗━┳ SUB 
157      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┣━┳ MUL 
158      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
159      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
160      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
161      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
162      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
163      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
164      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
165      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
166      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
167      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
168      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
169      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
170      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
171      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
172      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
173      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
174      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
175      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
176      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
177      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
178      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
179      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
180      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
181      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
182      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
183      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
184      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
185      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
186      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
187      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
188      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
189      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
190      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
191      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
192      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
193      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
194      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
195      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
196      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
197      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
198      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
199      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
200      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
201      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
202      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
203      ┃ ┃ ┃             ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
204      ┃ ┃ ┃             ┃ ┃   ┃ ┗━┳ MUL 
205      ┃ ┃ ┃             ┃ ┃   ┃   ┣━┳ MUL 
206      ┃ ┃ ┃             ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
207      ┃ ┃ ┃             ┃ ┃   ┃   ┃ ┗━┳ ADD 
208      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┣━┳ MUL 
209      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
210      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
211      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
212      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
213      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
214      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
215      ┃ ┃ ┃             ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
216      ┃ ┃ ┃             ┃ ┃   ┃   ┗━┳ ADD 
217      ┃ ┃ ┃             ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
218      ┃ ┃ ┃             ┃ ┃   ┃     ┗━┳ SUB 
219      ┃ ┃ ┃             ┃ ┃   ┃       ┣━┳ MUL 
220      ┃ ┃ ┃             ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
221      ┃ ┃ ┃             ┃ ┃   ┃       ┃ ┗━┳ DIV 
222      ┃ ┃ ┃             ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
223      ┃ ┃ ┃             ┃ ┃   ┃       ┃   ┗━┳ ADD 
224      ┃ ┃ ┃             ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
225      ┃ ┃ ┃             ┃ ┃   ┃       ┃     ┗━┳ EXP2 
226      ┃ ┃ ┃             ┃ ┃   ┃       ┃       ┗━┳ MUL 
227      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┣━┳ MUL 
228      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
229      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
230      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
231      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
232      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
233      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
234      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
235      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
236      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
237      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
238      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
239      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
240      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
241      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
242      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
243      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
244      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
245      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
246      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
247      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
248      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
249      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
250      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
251      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
252      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
253      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
254      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
255      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
256      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
257      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
258      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
259      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
260      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
261      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
262      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
263      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
264      ┃ ┃ ┃             ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
265      ┃ ┃ ┃             ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
266      ┃ ┃ ┃             ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
267      ┃ ┃ ┃             ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
268      ┃ ┃ ┃             ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
269      ┃ ┃ ┗━┳ MUL 
270      ┃ ┃   ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
271      ┃ ┃   ┗━┳ MUL 
272      ┃ ┃     ┣━┳ ADD 
273      ┃ ┃     ┃ ┣━┳ MUL 
274      ┃ ┃     ┃ ┃ ┣━┳ MUL 
275      ┃ ┃     ┃ ┃ ┃ ┣━┳ SUB 
276      ┃ ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
277      ┃ ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
278      ┃ ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
279      ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
280      ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
281      ┃ ┃     ┗━┳ MUL 
282      ┃ ┃       ┣━┳ MUL 
283      ┃ ┃       ┃ ┣━┳ ADD 
284      ┃ ┃       ┃ ┃ ┣━┳ MUL 
285      ┃ ┃       ┃ ┃ ┃ ┣━┳ MUL 
286      ┃ ┃       ┃ ┃ ┃ ┃ ┣━┳ SUB 
287      ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
288      ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
289      ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
290      ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
291      ┃ ┃       ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
292      ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
293      ┃ ┃       ┗━┳ MUL 
294      ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
295      ┃ ┃         ┗━┳ MUL 
296      ┃ ┃           ┣━┳ MUL 
297      ┃ ┃           ┃ ┣━┳ DIV 
298      ┃ ┃           ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
299      ┃ ┃           ┃ ┃ ┗━┳ ADD 
300      ┃ ┃           ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
301      ┃ ┃           ┃ ┃   ┗━┳ EXP2 
302      ┃ ┃           ┃ ┃     ┗━┳ MUL 
303      ┃ ┃           ┃ ┃       ┣━┳ MUL 
304      ┃ ┃           ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
305      ┃ ┃           ┃ ┃       ┃ ┗━┳ MUL 
306      ┃ ┃           ┃ ┃       ┃   ┣━┳ MUL 
307      ┃ ┃           ┃ ┃       ┃   ┃ ┣━┳ ADD 
308      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
309      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
310      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
311      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
312      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
313      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
314      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
315      ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
316      ┃ ┃           ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
317      ┃ ┃           ┃ ┃       ┃   ┗━┳ ADD 
318      ┃ ┃           ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
319      ┃ ┃           ┃ ┃       ┃     ┗━┳ MUL 
320      ┃ ┃           ┃ ┃       ┃       ┣━┳ MUL 
321      ┃ ┃           ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
322      ┃ ┃           ┃ ┃       ┃       ┃ ┗━┳ ADD 
323      ┃ ┃           ┃ ┃       ┃       ┃   ┣━┳ MUL 
324      ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
325      ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
326      ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
327      ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
328      ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
329      ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
330      ┃ ┃           ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
331      ┃ ┃           ┃ ┃       ┃       ┗━┳ ADD 
332      ┃ ┃           ┃ ┃       ┃         ┣━┳ MUL 
333      ┃ ┃           ┃ ┃       ┃         ┃ ┣━┳ MUL 
334      ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
335      ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
336      ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
337      ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
338      ┃ ┃           ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
339      ┃ ┃           ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
340      ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
341      ┃ ┃           ┃ ┗━┳ SUB 
342      ┃ ┃           ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
343      ┃ ┃           ┃   ┗━┳ DIV 
344      ┃ ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
345      ┃ ┃           ┃     ┗━┳ ADD 
346      ┃ ┃           ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
347      ┃ ┃           ┃       ┗━┳ EXP2 
348      ┃ ┃           ┃         ┗━┳ MUL 
349      ┃ ┃           ┃           ┣━┳ MUL 
350      ┃ ┃           ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
351      ┃ ┃           ┃           ┃ ┗━┳ MUL 
352      ┃ ┃           ┃           ┃   ┣━┳ MUL 
353      ┃ ┃           ┃           ┃   ┃ ┣━┳ ADD 
354      ┃ ┃           ┃           ┃   ┃ ┃ ┣━┳ MUL 
355      ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
356      ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
357      ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
358      ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
359      ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
360      ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
361      ┃ ┃           ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
362      ┃ ┃           ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
363      ┃ ┃           ┃           ┃   ┗━┳ ADD 
364      ┃ ┃           ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
365      ┃ ┃           ┃           ┃     ┗━┳ MUL 
366      ┃ ┃           ┃           ┃       ┣━┳ MUL 
367      ┃ ┃           ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
368      ┃ ┃           ┃           ┃       ┃ ┗━┳ ADD 
369      ┃ ┃           ┃           ┃       ┃   ┣━┳ MUL 
370      ┃ ┃           ┃           ┃       ┃   ┃ ┣━┳ MUL 
371      ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
372      ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
373      ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
374      ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
375      ┃ ┃           ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
376      ┃ ┃           ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
377      ┃ ┃           ┃           ┃       ┗━┳ ADD 
378      ┃ ┃           ┃           ┃         ┣━┳ MUL 
379      ┃ ┃           ┃           ┃         ┃ ┣━┳ MUL 
380      ┃ ┃           ┃           ┃         ┃ ┃ ┣━┳ SUB 
381      ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
382      ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
383      ┃ ┃           ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
384      ┃ ┃           ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
385      ┃ ┃           ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
386      ┃ ┃           ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
387      ┃ ┃           ┗━┳ MUL 
388      ┃ ┃             ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
389      ┃ ┃             ┗━┳ MUL 
390      ┃ ┃               ┣━┳ MUL 
391      ┃ ┃               ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
392      ┃ ┃               ┃ ┗━┳ ADD 
393      ┃ ┃               ┃   ┣━┳ MUL 
394      ┃ ┃               ┃   ┃ ┣━┳ MUL 
395      ┃ ┃               ┃   ┃ ┃ ┣━┳ SUB 
396      ┃ ┃               ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
397      ┃ ┃               ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
398      ┃ ┃               ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
399      ┃ ┃               ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
400      ┃ ┃               ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
401      ┃ ┃               ┗━┳ MUL 
402      ┃ ┃                 ┣━┳ DIV 
403      ┃ ┃                 ┃ ┣━┳ CAST (dtypes.float, False)
404      ┃ ┃                 ┃ ┃ ┗━┳ CMPEQ 
405      ┃ ┃                 ┃ ┃   ┣━┳ ADD 
406      ┃ ┃                 ┃ ┃   ┃ ┣━┳ MUL 
407      ┃ ┃                 ┃ ┃   ┃ ┃ ┣━┳ MUL 
408      ┃ ┃                 ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
409      ┃ ┃                 ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
410      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
411      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
412      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
413      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
414      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
415      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
416      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
417      ┃ ┃                 ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
418      ┃ ┃                 ┃ ┃   ┃ ┃ ┗━┳ ADD 
419      ┃ ┃                 ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
420      ┃ ┃                 ┃ ┃   ┃ ┃   ┗━┳ SUB 
421      ┃ ┃                 ┃ ┃   ┃ ┃     ┣━┳ MUL 
422      ┃ ┃                 ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
423      ┃ ┃                 ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
424      ┃ ┃                 ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
425      ┃ ┃                 ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
426      ┃ ┃                 ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
427      ┃ ┃                 ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
428      ┃ ┃                 ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
429      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
430      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
431      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
432      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
433      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
434      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
435      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
436      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
437      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
438      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
439      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
440      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
441      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
442      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
443      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
444      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
445      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
446      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
447      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
448      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
449      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
450      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
451      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
452      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
453      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
454      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
455      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
456      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
457      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
458      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
459      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
460      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
461      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
462      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
463      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
464      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
465      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
466      ┃ ┃                 ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
467      ┃ ┃                 ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
468      ┃ ┃                 ┃ ┃   ┃ ┗━┳ MUL 
469      ┃ ┃                 ┃ ┃   ┃   ┣━┳ MUL 
470      ┃ ┃                 ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
471      ┃ ┃                 ┃ ┃   ┃   ┃ ┗━┳ ADD 
472      ┃ ┃                 ┃ ┃   ┃   ┃   ┣━┳ MUL 
473      ┃ ┃                 ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
474      ┃ ┃                 ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
475      ┃ ┃                 ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
476      ┃ ┃                 ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
477      ┃ ┃                 ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
478      ┃ ┃                 ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
479      ┃ ┃                 ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
480      ┃ ┃                 ┃ ┃   ┃   ┗━┳ ADD 
481      ┃ ┃                 ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
482      ┃ ┃                 ┃ ┃   ┃     ┗━┳ SUB 
483      ┃ ┃                 ┃ ┃   ┃       ┣━┳ MUL 
484      ┃ ┃                 ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
485      ┃ ┃                 ┃ ┃   ┃       ┃ ┗━┳ DIV 
486      ┃ ┃                 ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
487      ┃ ┃                 ┃ ┃   ┃       ┃   ┗━┳ ADD 
488      ┃ ┃                 ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
489      ┃ ┃                 ┃ ┃   ┃       ┃     ┗━┳ EXP2 
490      ┃ ┃                 ┃ ┃   ┃       ┃       ┗━┳ MUL 
491      ┃ ┃                 ┃ ┃   ┃       ┃         ┣━┳ MUL 
492      ┃ ┃                 ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
493      ┃ ┃                 ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
494      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
495      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
496      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
497      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
498      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
499      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
500      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
501      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
502      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
503      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
504      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
505      ┃ ┃                 ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
506      ┃ ┃                 ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
507      ┃ ┃                 ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
508      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
509      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
510      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
511      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
512      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
513      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
514      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
515      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
516      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
517      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
518      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
519      ┃ ┃                 ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
520      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
521      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
522      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
523      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
524      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
525      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
526      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
527      ┃ ┃                 ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
528      ┃ ┃                 ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
529      ┃ ┃                 ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
530      ┃ ┃                 ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
531      ┃ ┃                 ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
532      ┃ ┃                 ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
533      ┃ ┗━┳ MUL 
534      ┃   ┣━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
535      ┃   ┗━┳ MUL 
536      ┃     ┣━┳ ADD 
537      ┃     ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
538      ┃     ┃ ┗━┳ MUL 
539      ┃     ┃   ┣━┳ MUL 
540      ┃     ┃   ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
541      ┃     ┃   ┃ ┗━┳ ADD 
542      ┃     ┃   ┃   ┣━┳ MUL 
543      ┃     ┃   ┃   ┃ ┣━┳ MUL 
544      ┃     ┃   ┃   ┃ ┃ ┣━┳ SUB 
545      ┃     ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
546      ┃     ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
547      ┃     ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
548      ┃     ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
549      ┃     ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
550      ┃     ┃   ┗━┳ ADD 
551      ┃     ┃     ┣━┳ MUL 
552      ┃     ┃     ┃ ┣━┳ MUL 
553      ┃     ┃     ┃ ┃ ┣━┳ SUB 
554      ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
555      ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
556      ┃     ┃     ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
557      ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
558      ┃     ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
559      ┃     ┗━┳ MUL 
560      ┃       ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
561      ┃       ┗━┳ MUL 
562      ┃         ┣━┳ MUL 
563      ┃         ┃ ┣━┳ DIV 
564      ┃         ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
565      ┃         ┃ ┃ ┗━┳ ADD 
566      ┃         ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
567      ┃         ┃ ┃   ┗━┳ EXP2 
568      ┃         ┃ ┃     ┗━┳ MUL 
569      ┃         ┃ ┃       ┣━┳ MUL 
570      ┃         ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
571      ┃         ┃ ┃       ┃ ┗━┳ MUL 
572      ┃         ┃ ┃       ┃   ┣━┳ MUL 
573      ┃         ┃ ┃       ┃   ┃ ┣━┳ ADD 
574      ┃         ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
575      ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
576      ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
577      ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
578      ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
579      ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
580      ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
581      ┃         ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
582      ┃         ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
583      ┃         ┃ ┃       ┃   ┗━┳ ADD 
584      ┃         ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
585      ┃         ┃ ┃       ┃     ┗━┳ MUL 
586      ┃         ┃ ┃       ┃       ┣━┳ MUL 
587      ┃         ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
588      ┃         ┃ ┃       ┃       ┃ ┗━┳ ADD 
589      ┃         ┃ ┃       ┃       ┃   ┣━┳ MUL 
590      ┃         ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
591      ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
592      ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
593      ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
594      ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
595      ┃         ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
596      ┃         ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
597      ┃         ┃ ┃       ┃       ┗━┳ ADD 
598      ┃         ┃ ┃       ┃         ┣━┳ MUL 
599      ┃         ┃ ┃       ┃         ┃ ┣━┳ MUL 
600      ┃         ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
601      ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
602      ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
603      ┃         ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
604      ┃         ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
605      ┃         ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
606      ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
607      ┃         ┃ ┗━┳ SUB 
608      ┃         ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
609      ┃         ┃   ┗━┳ DIV 
610      ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
611      ┃         ┃     ┗━┳ ADD 
612      ┃         ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
613      ┃         ┃       ┗━┳ EXP2 
614      ┃         ┃         ┗━┳ MUL 
615      ┃         ┃           ┣━┳ MUL 
616      ┃         ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
617      ┃         ┃           ┃ ┗━┳ MUL 
618      ┃         ┃           ┃   ┣━┳ MUL 
619      ┃         ┃           ┃   ┃ ┣━┳ ADD 
620      ┃         ┃           ┃   ┃ ┃ ┣━┳ MUL 
621      ┃         ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
622      ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
623      ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
624      ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
625      ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
626      ┃         ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
627      ┃         ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
628      ┃         ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
629      ┃         ┃           ┃   ┗━┳ ADD 
630      ┃         ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
631      ┃         ┃           ┃     ┗━┳ MUL 
632      ┃         ┃           ┃       ┣━┳ MUL 
633      ┃         ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
634      ┃         ┃           ┃       ┃ ┗━┳ ADD 
635      ┃         ┃           ┃       ┃   ┣━┳ MUL 
636      ┃         ┃           ┃       ┃   ┃ ┣━┳ MUL 
637      ┃         ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
638      ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
639      ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
640      ┃         ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
641      ┃         ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
642      ┃         ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
643      ┃         ┃           ┃       ┗━┳ ADD 
644      ┃         ┃           ┃         ┣━┳ MUL 
645      ┃         ┃           ┃         ┃ ┣━┳ MUL 
646      ┃         ┃           ┃         ┃ ┃ ┣━┳ SUB 
647      ┃         ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
648      ┃         ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
649      ┃         ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
650      ┃         ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
651      ┃         ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
652      ┃         ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
653      ┃         ┗━┳ MUL 
654      ┃           ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
655      ┃           ┗━┳ MUL 
656      ┃             ┣━┳ MUL 
657      ┃             ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
658      ┃             ┃ ┗━┳ ADD 
659      ┃             ┃   ┣━┳ MUL 
660      ┃             ┃   ┃ ┣━┳ MUL 
661      ┃             ┃   ┃ ┃ ┣━┳ SUB 
662      ┃             ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
663      ┃             ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
664      ┃             ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
665      ┃             ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
666      ┃             ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
667      ┃             ┗━┳ MUL 
668      ┃               ┣━┳ DIV 
669      ┃               ┃ ┣━┳ CAST (dtypes.float, False)
670      ┃               ┃ ┃ ┗━┳ CMPEQ 
671      ┃               ┃ ┃   ┣━┳ ADD 
672      ┃               ┃ ┃   ┃ ┣━┳ MUL 
673      ┃               ┃ ┃   ┃ ┃ ┣━┳ MUL 
674      ┃               ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
675      ┃               ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
676      ┃               ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
677      ┃               ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
678      ┃               ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
679      ┃               ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
680      ┃               ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
681      ┃               ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
682      ┃               ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
683      ┃               ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
684      ┃               ┃ ┃   ┃ ┃ ┗━┳ ADD 
685      ┃               ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
686      ┃               ┃ ┃   ┃ ┃   ┗━┳ SUB 
687      ┃               ┃ ┃   ┃ ┃     ┣━┳ MUL 
688      ┃               ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
689      ┃               ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
690      ┃               ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
691      ┃               ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
692      ┃               ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
693      ┃               ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
694      ┃               ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
695      ┃               ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
696      ┃               ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
697      ┃               ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
698      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
699      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
700      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
701      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
702      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
703      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
704      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
705      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
706      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
707      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
708      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
709      ┃               ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
710      ┃               ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
711      ┃               ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
712      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
713      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
714      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
715      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
716      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
717      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
718      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
719      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
720      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
721      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
722      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
723      ┃               ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
724      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
725      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
726      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
727      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
728      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
729      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
730      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
731      ┃               ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
732      ┃               ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
733      ┃               ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
734      ┃               ┃ ┃   ┃ ┗━┳ MUL 
735      ┃               ┃ ┃   ┃   ┣━┳ MUL 
736      ┃               ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
737      ┃               ┃ ┃   ┃   ┃ ┗━┳ ADD 
738      ┃               ┃ ┃   ┃   ┃   ┣━┳ MUL 
739      ┃               ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
740      ┃               ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
741      ┃               ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
742      ┃               ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
743      ┃               ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
744      ┃               ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
745      ┃               ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
746      ┃               ┃ ┃   ┃   ┗━┳ ADD 
747      ┃               ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
748      ┃               ┃ ┃   ┃     ┗━┳ SUB 
749      ┃               ┃ ┃   ┃       ┣━┳ MUL 
750      ┃               ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
751      ┃               ┃ ┃   ┃       ┃ ┗━┳ DIV 
752      ┃               ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
753      ┃               ┃ ┃   ┃       ┃   ┗━┳ ADD 
754      ┃               ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
755      ┃               ┃ ┃   ┃       ┃     ┗━┳ EXP2 
756      ┃               ┃ ┃   ┃       ┃       ┗━┳ MUL 
757      ┃               ┃ ┃   ┃       ┃         ┣━┳ MUL 
758      ┃               ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
759      ┃               ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
760      ┃               ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
761      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
762      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
763      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
764      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
765      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
766      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
767      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
768      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
769      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
770      ┃               ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
771      ┃               ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
772      ┃               ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
773      ┃               ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
774      ┃               ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
775      ┃               ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
776      ┃               ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
777      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
778      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
779      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
780      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
781      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
782      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
783      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
784      ┃               ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
785      ┃               ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
786      ┃               ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
787      ┃               ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
788      ┃               ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
789      ┃               ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
790      ┃               ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
791      ┃               ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
792      ┃               ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
793      ┃               ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
794      ┃               ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
795      ┃               ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
796      ┃               ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
797      ┃               ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
798      ┃               ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
799      ┗━┳ MUL 
800        ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
801        ┗━┳ MUL 
802          ┣━┳ ADD 
803          ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
804          ┃ ┗━┳ SUB 
805          ┃   ┣━┳ MUL 
806          ┃   ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
807          ┃   ┃ ┗━┳ DIV 
808          ┃   ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
809          ┃   ┃   ┗━┳ ADD 
810          ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
811          ┃   ┃     ┗━┳ EXP2 
812          ┃   ┃       ┗━┳ MUL 
813          ┃   ┃         ┣━┳ MUL 
814          ┃   ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
815          ┃   ┃         ┃ ┗━┳ MUL 
816          ┃   ┃         ┃   ┣━┳ MUL 
817          ┃   ┃         ┃   ┃ ┣━┳ ADD 
818          ┃   ┃         ┃   ┃ ┃ ┣━┳ MUL 
819          ┃   ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
820          ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
821          ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
822          ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
823          ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
824          ┃   ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
825          ┃   ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
826          ┃   ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
827          ┃   ┃         ┃   ┗━┳ ADD 
828          ┃   ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
829          ┃   ┃         ┃     ┗━┳ MUL 
830          ┃   ┃         ┃       ┣━┳ MUL 
831          ┃   ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
832          ┃   ┃         ┃       ┃ ┗━┳ ADD 
833          ┃   ┃         ┃       ┃   ┣━┳ MUL 
834          ┃   ┃         ┃       ┃   ┃ ┣━┳ MUL 
835          ┃   ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
836          ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
837          ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
838          ┃   ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
839          ┃   ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
840          ┃   ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
841          ┃   ┃         ┃       ┗━┳ ADD 
842          ┃   ┃         ┃         ┣━┳ MUL 
843          ┃   ┃         ┃         ┃ ┣━┳ MUL 
844          ┃   ┃         ┃         ┃ ┃ ┣━┳ SUB 
845          ┃   ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
846          ┃   ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
847          ┃   ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
848          ┃   ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
849          ┃   ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
850          ┃   ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
851          ┃   ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
852          ┗━┳ MUL 
853            ┣━┳ DIV 
854            ┃ ┣━┳ CAST (dtypes.float, False)
855            ┃ ┃ ┗━┳ CMPEQ 
856            ┃ ┃   ┣━┳ ADD 
857            ┃ ┃   ┃ ┣━┳ MUL 
858            ┃ ┃   ┃ ┃ ┣━┳ MUL 
859            ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
860            ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
861            ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
862            ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
863            ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
864            ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
865            ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
866            ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
867            ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
868            ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
869            ┃ ┃   ┃ ┃ ┗━┳ ADD 
870            ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
871            ┃ ┃   ┃ ┃   ┗━┳ SUB 
872            ┃ ┃   ┃ ┃     ┣━┳ MUL 
873            ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
874            ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
875            ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
876            ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
877            ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
878            ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
879            ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
880            ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
881            ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
882            ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
883            ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
884            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
885            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
886            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
887            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
888            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
889            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
890            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
891            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
892            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
893            ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
894            ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
895            ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
896            ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
897            ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
898            ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
899            ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
900            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
901            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
902            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
903            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
904            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
905            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
906            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
907            ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
908            ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
909            ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
910            ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
911            ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
912            ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
913            ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
914            ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
915            ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
916            ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
917            ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
918            ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
919            ┃ ┃   ┃ ┗━┳ MUL 
920            ┃ ┃   ┃   ┣━┳ MUL 
921            ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
922            ┃ ┃   ┃   ┃ ┗━┳ ADD 
923            ┃ ┃   ┃   ┃   ┣━┳ MUL 
924            ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
925            ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
926            ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
927            ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
928            ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
929            ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
930            ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
931            ┃ ┃   ┃   ┗━┳ ADD 
932            ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
933            ┃ ┃   ┃     ┗━┳ SUB 
934            ┃ ┃   ┃       ┣━┳ MUL 
935            ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
936            ┃ ┃   ┃       ┃ ┗━┳ DIV 
937            ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
938            ┃ ┃   ┃       ┃   ┗━┳ ADD 
939            ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
940            ┃ ┃   ┃       ┃     ┗━┳ EXP2 
941            ┃ ┃   ┃       ┃       ┗━┳ MUL 
942            ┃ ┃   ┃       ┃         ┣━┳ MUL 
943            ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
944            ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
945            ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
946            ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
947            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
948            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
949            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
950            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
951            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
952            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
953            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
954            ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
955            ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
956            ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
957            ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
958            ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
959            ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
960            ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
961            ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
962            ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
963            ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
964            ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
965            ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
966            ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
967            ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
968            ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
969            ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
970            ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
971            ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
972            ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
973            ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
974            ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
975            ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
976            ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
977            ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
978            ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
979            ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
980            ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
981            ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
982            ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
983            ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 512  512   16
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 512  128   16    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  128   16    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  16   16  128   16    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   16    2  128   16    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8   16    2   32   16    4    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   16    2   32   16    4    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=1, amt=8)]
   2   16    2    8   32    2    4    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   16    8   32    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    8    2    8   32    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2    2    8    8   32    2    4    2    4    4    2
testing ast 326
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 256, 7, 7, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 4, 9, 4, 9), strides=(0, 49, 0, 7, 0, 1), offset=-8, mask=((0, 1), (0, 256), (0, 4), (1, 8), (0, 4), (1, 8)), contiguous=False), View(shape=(1, 1, 256, 7, 7, 256, 3, 3), strides=(0, 0, 0, 36, 1, 1296, 360, 10), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 7, 7, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256    7    7  256    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    7    7  256    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  64    7  256    3    3    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   8    7    8  256    3    3    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    7    8  256    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    7    8    2  256    3    4    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4    7    4    2  256    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4    7    2    2    2  256    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4    7    2    2    2  256    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    7    2    2    2    4   64    3    4    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    7    2    2    2    2    4   64    3    4    7    3    2
testing ast 327
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 1, 10, 1, 10), strides=(25600, 100, 0, 10, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 256, 1, 10, 1, 10)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 256, 3, 11, 3, 11), strides=(147456, 576, 3, 72, 1, 9), offset=0, mask=((0, 512), (0, 256), (0, 3), (0, 8), (0, 3), (0, 8)), contiguous=False), View(shape=(512, 256, 40, 40), strides=(278784, 1089, 33, 1), offset=0, mask=((0, 512), (0, 256), (0, 33), (0, 33)), contiguous=False), View(shape=(512, 256, 4, 10, 4, 10), strides=(409600, 1600, 400, 40, 10, 1), offset=0, mask=None, contiguous=True))))
 512  256   10   10    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  16  256   10   10   32    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  16  256   10    5   32    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  16  256   10   32    4    4    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16  256   10   32    4    2    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16  256   10   32    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  16  256   10   16    2    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  16  256    5   16    2    2    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16  128    5   16    2    2    2    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8)]
  16  128    5    2    2    2    2    8    2    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8  128    5    2    2    2    2    8    2    2    5    4    4
testing ast 328
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(204, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (204, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(204, 406), strides=(0, 256), offset=-51713, mask=((0, 204), (203, 406)), contiguous=False), View(shape=(204, 203), strides=(1, 407), offset=0, mask=None, contiguous=False))))
 204  203
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  68  203    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  34  203    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=29)]
  34   29    7    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  34    7    3    2   29
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  17    2    7    3    2   29
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 329
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=29184, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 330
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 1, 1, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 16, 1, 1, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 16, 62, 62, 3, 3, 3), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 16, 62, 62, 3, 3, 3), strides=(61504, 0, 3844, 62, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   27    2 3844
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  16   32    2 3844
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   16    2 3844    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16    2 3844    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  16    8    2 3844    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  16    2    2 3844    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2 3844    2    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2  961    2    2    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2  961    2    2    4    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2  961    2    2    4    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2  961    2    2    4    2    4    2
testing ast 331
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 384, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1024), strides=(0, 1024, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1024), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1024), strides=(0, 1024, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1024), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0009765625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-12, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 384, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 384 1024
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
 384   32   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 128   32   32    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   32   32    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64    8   32    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64    2   32    3    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4    2   32    3    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    4   32    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16    2    2   32    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  16    2    2    4    8    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    2    2    4    8    3    2    4    4    2
testing ast 332
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.float, False)
  2    ┗━┳ CMPEQ 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(5, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ SUM (5, 1)
  6        ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(6, 9), strides=(0, 0), offset=0, mask=((0, 6), (4, 9)), contiguous=False), View(shape=(5, 5), strides=(1, 10), offset=0, mask=None, contiguous=False))))
  7        ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(5, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    5
testing ast 333
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 32, 4, 8, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 4, 8, 352, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 4, 8, 352, 1, 1), strides=(0, 0, 352, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   32  352
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  32    8  352    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32  352    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  32    8   44    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  32    8   11    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    8   11    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2    8   11    4    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 334
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 1, 1024, 1)
  5      ┃ ┗━┳ MUL 
  6      ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  7      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1024), strides=(0, 0, 1, 1024), offset=0, mask=None, contiguous=False),)))
  8      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
1024 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32   32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   16 1024    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  16    4    4 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    4    4    2 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    4    4    2 1024    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    4    2 1024    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4  256    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2    4  256    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    2    4    8   32    2    2    4    4    4
testing ast 335
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 784, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ MUL 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUB 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 512, 28, 28, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 128, 1, 1), strides=(0, 0, 0, 28, 1, 784, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 128, 1, 1), strides=(0, 0, 128, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃ ┗━┳ SQRT 
 14    ┃ ┃ ┃   ┗━┳ DIV 
 15    ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃ ┃     ┗━┳ ADD 
 17    ┃ ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 784, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 21    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512  784  128
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 512  196  128    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  196  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64  196    4  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  196    4   32    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  196    4    8    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64  196    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64   98    2    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64   98    2    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  64  128    2    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16  128    2    2    4    8    4    2    4    4    2
testing ast 336
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(32, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 20480), strides=(655360, 20480, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=4.8828125e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 20480
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   32 20480
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16 20480    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16 20480    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4 20480    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2 20480    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2 20480    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2 20480    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 20480    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4 5120    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2 5120    2    2    2    2    2    4
testing ast 337
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUM (500, 10, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 512), strides=(512, 0, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 512), strides=(0, 512, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ CONST ConstBuffer(val=0.1111111111111111, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MUL 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),)))
 13      ┃ ┗━━ CONST ConstBuffer(val=0.1111111111111111, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 10, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 500   10  512
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 512   10  512
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 512    5  512    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 512  512    2    5
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 512    4  128    2    5
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 256    2    4  128    2    5
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 338
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ MUL 
  8            ┣━┳ CAST (dtypes.float, False)
  9            ┃ ┗━┳ CMPLT 
 10            ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 12            ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(215296, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
  64    2   56   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
  64    8    2    7   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    8    2    7   56    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8    2    7   56    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    8    7   56    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    7   56    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
testing ast 339
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 256, 256, 1, 1, 1), strides=(0, 0, 65536, 256, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 512, 256, 256, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 128, 2, 128, 2), strides=(0, 16384, 128, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 512, 4, 258, 4, 258), strides=(0, 65536, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 512), (0, 4), (1, 257), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 512, 256, 256, 512, 3, 3), strides=(0, 0, 0, 1032, 1, 1065024, 267288, 259), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 256, 256, 512, 3, 3), strides=(0, 0, 4608, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 256, 256, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512  256  256  512    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 512  256   16   16  512    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 512  256   16    8  512    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  256   16    8  512    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 256   64   16    8    4  512    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64   64   16    8    4  512    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   64   16    8    4  512    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  16   64   16    4    4  512    3    3    2    2    4    4    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16   64   16    4    4    8   64    3    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   32   16    4    4    8   64    3    3    2    2    4    4    2    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 128, 2, 128, 2), strides=(0, 16384, 128, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 512, 4, 258, 4, 258), strides=(0, 65536, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 512), (0, 4), (1, 257), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 512, 256, 256, 512, 3, 3), strides=(0, 0, 0, 1032, 1, 1065024, 267288, 259), offset=0, mask=None, contiguous=False))))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 256, 256, 512, 3, 3), strides=(0, 0, 4608, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 512, 256, 256, 1, 1, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 256, 256, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 512, 256, 256, 1, 1, 1), strides=(0, 0, 65536, 256, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
COMPILE FAILED!!
testing ast 340
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1), strides=(256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (2, 256, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1280), strides=(327680, 1280, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1280), strides=(256, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1280), strides=(327680, 1280, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1280), strides=(256, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.00078125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512 1280
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  16   32 1280
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   16 1280    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16 1280    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   16    4 1280    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   16    2 1280    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2    4    2 1280    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    4 1280    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 1280    2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    8  160    2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    8  160    2    2    2    4    2    4
testing ast 341
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 240, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 28, 28), strides=(0, 784, 0, 0, 28, 1), offset=0, mask=None, contiguous=True),)))
  5    ┃   ┗━┳ DIV 
  6    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 28, 28), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃     ┗━┳ ADD 
  8    ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 28, 28), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃       ┗━┳ EXP2 
 10    ┃         ┗━┳ MUL 
 11    ┃           ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 28, 28), strides=(0, 784, 0, 0, 28, 1), offset=0, mask=None, contiguous=True),)))
 12    ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 28, 28), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┗━━ CONST ConstBuffer(val=0.0012755102040816326, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 240  784
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 256  784
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64  784    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  784    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4  784    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2  784    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2  784    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2  196    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    2    4   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    4   49    4    2    2    4    4
testing ast 342
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 1, 1, 1), strides=(0, 0, 2156, 154, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 32, 14, 154, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 3, 3, 3), strides=(0, 0, 0, 156, 1, 2496, 156, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=-0.1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ ADD 
 14      ┃   ┣━┳ SUM (1, 1, 32, 14, 154, 1, 1, 1)
 15      ┃   ┃ ┗━┳ MUL 
 16      ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 3, 3, 3), strides=(0, 0, 0, 156, 1, 2496, 156, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
 18      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 14, 154, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   14  154    3    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   14  154    3    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  14  154    3    3    3    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  14  154    3    3    4    8    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  14   77    3    3    4    8    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   7   77    2    3    3    4    8    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 343
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 3, 1), strides=(0, 0, 0, 0, 0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 3, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 2, 1, 1, 3, 1), strides=(5, 0, 0, 2, 0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 2, 1, 1, 3, 1), strides=(2, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    2    2
testing ast 344
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 20, 1, 1, 480, 1, 1), strides=(0, 0, 480, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 20, 1, 1, 480, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 480, 1, 1), strides=(480, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 20, 1, 1, 480, 1, 1), strides=(20, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  20  480    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  20  120    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  20  120    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  20  120    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  20   15    8    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   5   15    8    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   5    5    8    2    2    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   5    5    2    2    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 345
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 5, 1, 1, 1), strides=(330, 0, 55, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 11, 5, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 5, 1, 1, 3), strides=(77, 0, 0, 7, 1, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 5, 1, 1, 3), strides=(0, 0, 3, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 5, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   11    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   6   11    5    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   6   11    4    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    4    3    5    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    4    5    6    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  11    2    5    6    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 346
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 1), strides=(0, 65536, 256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 8, 256, 256, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 160), strides=(0, 160, 1280, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 160), strides=(0, 160, 0, 1280, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.07905694150420949, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8  256  256  160
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8  256  256   32    5
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   8  256  128   32    5    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256  128   32    5    2    8
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 256   16    8   32    5    2    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64   16    8   32    5    2    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
  64   16    2   32    5    2    8    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   16    2    2   32    5    2    8    4    4
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 160), strides=(0, 160, 1280, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 160), strides=(0, 160, 0, 1280, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 8, 256, 256, 1)), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.07905694150420949, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 256, 256, 1), strides=(0, 65536, 256, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
COMPILE FAILED!!
testing ast 347
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1, 1, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 480, 1, 1, 1, 1, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 4, 16, 4, 16), strides=(94080, 196, 0, 14, 0, 1), offset=-15, mask=((0, 2), (0, 480), (0, 4), (1, 15), (0, 4), (1, 15)), contiguous=False), View(shape=(2, 480, 1, 14, 14, 1, 3, 3), strides=(1966080, 4096, 0, 64, 1, 0, 1088, 17), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 14, 14, 1, 3, 3), strides=(94080, 196, 0, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 480    3    3    2   14   14
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 160    3    3    2   14   14    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 160    3    2   14   14    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   5    3   32    2   14   14    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    3   32   14   14    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   5    3    8   14   14    3    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   5    3    4   14   14    3    3    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   5    3    2    2   14   14    3    3    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    2    2    3   14   14    3    3    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    3    2   14   14    3    3    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   5    2    2    3   14   14    3    3    2    4    2
testing ast 348
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ SUB 
  3    ┃ ┣━━ CONST ConstBuffer(val=10.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ MAX (1, 20)
  5    ┃   ┗━┳ MUL 
  6    ┃     ┣━┳ CAST (dtypes.int, False)
  7    ┃     ┃ ┗━┳ CMPEQ 
  8    ┃     ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
  9    ┃     ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(20, 1), offset=0, mask=None, contiguous=True),)))
 10    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 20), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 11    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  20   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   10    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    8
testing ast 349
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 4, 3, 3), strides=(0, 0, 36, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 8, 4, 9), strides=(80, 20, 0, 5, 0, 1), offset=-12, mask=((0, 2), (0, 4), (0, 4), (2, 6), (0, 4), (2, 7)), contiguous=False), View(shape=(2, 1, 4, 6, 7, 4, 3, 3), strides=(4608, 0, 0, 36, 1, 1152, 324, 10), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 6, 7, 4, 3, 3), strides=(168, 0, 42, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    3    3    2    6    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    3    3    2    2    6    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    2    2    6    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2    6    7    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    2    2    7    2    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    2    2    7    2    4    6    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 350
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 1, 13, 1, 17), strides=(884, 0, 0, 221, 0, 17, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 4, 1, 13, 1, 17)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 3, 14, 3, 19), strides=(5148, 0, 0, 9, 3, 468, 1, 36), offset=0, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 3), (0, 11), (0, 3), (0, 13)), contiguous=False), View(shape=(2, 1, 1, 4, 52, 68), strides=(9576, 0, 0, 2394, 57, 1), offset=0, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 42), (0, 57)), contiguous=False), View(shape=(2, 1, 1, 4, 4, 13, 4, 17), strides=(14144, 0, 0, 3536, 884, 68, 17, 1), offset=0, mask=None, contiguous=True))))
   2    4   13   17    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32)]
   2    4   13   32    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2    4   13   16    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   13   16    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   4   13    2    8    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   4   13    2    8    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   13    2    8    4    2    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   13    2    4    4    2    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   13    2    4    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  13    2    2    4    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  13    2    2    4    2    2    4    2    2    4
testing ast 351
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 1, 1, 1, 6, 5, 3, 4), strides=(1080, 360, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 3, 1, 1, 1, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 6, 5, 3, 4), strides=(0, 0, 6, 0, 0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 6, 5, 3, 4), strides=(720, 240, 60, 0, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   6    6   60    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   6    3   60    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   60    4    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3   60    4    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3   60    2    6    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   3   15    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  15    3    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3    3    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    3    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 352
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 3), strides=(0, 0, 1), offset=-1, mask=((0, 1), (0, 3), (1, 3)), contiguous=False), View(shape=(1, 2, 2), strides=(0, 1, 4), offset=0, mask=None, contiguous=False))))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 353
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 8, 16, 1)
  2    ┗━┳ DIV 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ NEG 
  5      ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(2048, 256, 16, 1), offset=0, mask=None, contiguous=True),)))
  6      ┃ ┗━┳ EXP2 
  7      ┃   ┗━┳ MUL 
  8      ┃     ┣━┳ SUB 
  9      ┃     ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(2048, 256, 16, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┗━┳ MUL 
 13        ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
4096   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
4096    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
1024    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 512    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 512    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 512    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 256    2    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 128    2    2    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 128    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   4    2   32    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   4    2    4    8    4    2    4    4    2
testing ast 354
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 1, 1, 1, 1, 1), strides=(32, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=7.971938775510203e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (2, 1, 32, 1, 1, 1, 1, 1)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 8, 1, 1, 1, 1), strides=(0, 0, 1, 32, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 8, 1, 1, 1, 1), strides=(8, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   32    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   32    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    4    2    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2    2    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2    2    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    2    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2    4    4    2    2
testing ast 355
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 5, 13, 3, 3), strides=(1755, 0, 585, 0, 117, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 5, 13, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 4, 5, 13, 3, 3), strides=(0, 0, 9, 27, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 4, 5, 13, 3, 3), strides=(260, 0, 0, 65, 13, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3   65    9    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
   4    3   96    9    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4    3   48    9    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   48    9    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  48    9    3    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  24    9    3    2    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  24    9    3    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  12    9    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   3    9    3    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   3    9    2    4    2    4    4    2    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
testing ast 356
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(327680, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(327680, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (2, 1, 1280, 16, 16, 1, 1, 1)
  5      ┃ ┗━┳ MUL 
  6      ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1280, 4, 18, 4, 18), strides=(327680, 256, 0, 16, 0, 1), offset=-17, mask=((0, 2), (0, 1280), (0, 4), (1, 17), (0, 4), (1, 17)), contiguous=False), View(shape=(2, 1, 1280, 16, 16, 1280, 3, 3), strides=(6635520, 0, 0, 72, 1, 5184, 1368, 19), offset=0, mask=None, contiguous=False))))
  7      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1280, 3, 3), strides=(0, 0, 11520, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  8      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1280   16   16 1280    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   80   16   16   16 1280    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
   2   80   16    4   16 1280    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  80   16    4   16 1280    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  80    4   16   16 1280    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  80    4   16   16 1280    3    4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  80    4   16    4 1280    3    4    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  80    4   16    2    2 1280    3    4    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  80    4    8    2    2 1280    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80    4    8    2    2    4  320    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  80    4    4    2    2    2    4  320    3    4    2    3    4    2
testing ast 357
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 480), strides=(0, 480, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=8.138020833333333e-06, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32  480
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4  120
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    4  120    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4  120    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4   30    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4   30    4    8    4
testing ast 358
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 11, 1, 7), strides=(0, 0, 0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 4, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 12, 5, 8), strides=(0, 0, 0, 5, 0, 60, 1, 20), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 1), (0, 11), (0, 5), (0, 3)), contiguous=False), View(shape=(1, 1, 1, 4, 22, 42), strides=(0, 0, 0, 480, 40, 1), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 12), (0, 40)), contiguous=False), View(shape=(1, 1, 1, 4, 2, 11, 6, 7), strides=(0, 0, 0, 924, 462, 42, 7, 1), offset=0, mask=None, contiguous=True))))
   4   11    7    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   11    7    2    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    2    2    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    2    2    6    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    2    2    2    7    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    2    2    7    6    2
testing ast 359
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 128, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ MUL 
 15      ┃ ┃   ┃     ┣━┳ CAST (dtypes.float, False)
 16      ┃ ┃   ┃     ┃ ┗━┳ CMPLT 
 17      ┃ ┃   ┃     ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 19      ┃ ┃   ┃     ┗━┳ ADD 
 20      ┃ ┃   ┃       ┣━┳ MUL 
 21      ┃ ┃   ┃       ┃ ┣━┳ CAST (dtypes.float, False)
 22      ┃ ┃   ┃       ┃ ┃ ┗━┳ CMPLT 
 23      ┃ ┃   ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24      ┃ ┃   ┃       ┃ ┃   ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
 25      ┃ ┃   ┃       ┃ ┗━┳ ADD 
 26      ┃ ┃   ┃       ┃   ┣━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 14, 2, 14, 2), strides=(25088, 196, 14, 0, 1, 0), offset=0, mask=((0, 2), (0, 128), (0, 14), (0, 1), (0, 14), (0, 1)), contiguous=False), View(shape=(2, 128, 28, 28), strides=(100352, 784, 28, 1), offset=0, mask=None, contiguous=True))))
 27      ┃ ┃   ┃       ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(115200, 900, 30, 1), offset=31, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃       ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 28, 28), strides=(115200, 900, 30, 1), offset=31, mask=None, contiguous=False),)))
 29      ┃ ┃   ┗━┳ MUL 
 30      ┃ ┃     ┣━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 31      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33      ┗━┳ MUL 
 34        ┣━┳ ADD 
 35        ┃ ┣━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 36        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37        ┗━┳ ADD 
 38          ┣━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 39          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   8   16    2   28   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2   16    2   28   28    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2   28   28    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   28    4    2   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 360
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 128, 1, 14, 14, 3, 3), strides=(225792, 0, 1764, 0, 126, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 128, 1, 14, 14, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 128, 256, 14, 14, 3, 3), strides=(0, 0, 9, 1152, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 128, 256, 14, 14, 3, 3), strides=(50176, 0, 0, 196, 14, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  128  196    9  256
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2  128  196    9    4   64
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3)]
   2  128  196    3    4   64    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128  196    3    4   64    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128  196    3    4   16    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128  196    3   16    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128   98    3    2   16    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   49    3    2   16    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 361
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1280, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1280, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1280, 7, 7), strides=(62720, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1280, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1280, 7, 7), strides=(62720, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1280, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
1280    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 320    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 160    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  40    4    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  10    4    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    4    2   49    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    2    2   49    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 362
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 8, 1), strides=(32, 8, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 4, 1, 8, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 8, 4), strides=(16, 4, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 8, 4), strides=(128, 8, 0, 1, 32), offset=0, mask=None, contiguous=False),)))
   2    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2    4    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2    4    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    4    2    2    2
testing ast 363
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 11, 7, 1, 1), strides=(231, 0, 77, 0, 7, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 11, 7, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 11, 7, 1, 1), strides=(0, 0, 1, 3, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 11, 7, 1, 1), strides=(462, 0, 0, 77, 7, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3   77    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   77    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  77    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  48    2    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  12    2    6    3    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   3    2    6    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 364
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 5, 6, 1, 1, 1, 4, 1, 1, 1, 3, 4), strides=(1440, 288, 48, 0, 0, 0, 12, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 5, 6, 1, 1, 1, 4, 1, 1, 1, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 5, 6, 5, 1, 1, 4, 1, 1, 1, 3, 4), strides=(0, 0, 0, 4, 0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 5, 6, 5, 1, 1, 4, 1, 1, 1, 3, 4), strides=(1800, 360, 60, 12, 0, 0, 0, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
  60    4   12    5
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  60    4    6    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  60    6    5    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  15    6    4    5    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5    6    4    5    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    3    4    5    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   5    3    2    5    2    4    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5    3    5    2    4    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    5    2    4    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 365
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 1, 16, 1, 16), strides=(122880, 256, 0, 16, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 480, 1, 16, 1, 16)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 3, 17, 3, 17), strides=(846720, 1764, 3, 126, 1, 9), offset=0, mask=((0, 2), (0, 480), (0, 3), (0, 14), (0, 3), (0, 14)), contiguous=False), View(shape=(2, 480, 64, 64), strides=(1248480, 2601, 51, 1), offset=0, mask=((0, 2), (0, 480), (0, 51), (0, 51)), contiguous=False), View(shape=(2, 480, 4, 16, 4, 16), strides=(1966080, 4096, 1024, 64, 16, 1), offset=0, mask=None, contiguous=True))))
   2  480   16   16    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2   60   16   16    8    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   15   16   16    8    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  15   16   16    8    4    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
  15   16    8   16    4    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  15   16    8   16    4    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  15   16    8    4    4    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  15    8    8    4    2    4    4    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  15    8    4    4    2    4    4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  15    8    2    4    2    2    4    4    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  15    8    2    4    2    2    4    4    2    4    4    2
testing ast 366
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 9, 9, 3, 3), strides=(2916, 0, 729, 0, 81, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 4, 1, 9, 9, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 4, 9, 9, 3, 3), strides=(0, 0, 36, 9, 0, 0, -3, -1), offset=8, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 4, 9, 9, 3, 3), strides=(324, 0, 0, 81, 9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4   81    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3)]
   2    4   81    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   2    4   81    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   81    3    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4   81    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   4   27    3    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   27    3    2    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   27    3    3    2    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  27    3    2    3    2    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 367
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 12, 1, 1), strides=(864, 432, 12, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 36, 12, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 12, 5, 5), strides=(6160, 3080, 84, 2, 28, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 12, 5, 5), strides=(864, 432, 12, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   36   12    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  64   64   12    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
  64   64    4    5    5    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64   64    5    5    3    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64    8    8    5    5    3    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  64    8    8    5    3    4    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64    4    8    2    5    3    4    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    4    8    2    2    5    3    4    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    2    8    2    2    5    3    4    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  32    2    2    2    2    4    5    3    4    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  32    2    2    2    4    5    3    4    5    2    2
testing ast 368
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 32, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2560), strides=(0, 2560, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2560), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2560), strides=(0, 2560, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2560), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.000390625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32 2560
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32 2560
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8 2560    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
2560    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  320    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8   80    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   8   16    5    4    8    4
testing ast 369
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 8, 16, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━┳ ADD 
  6        ┃ ┃ ┣━┳ MUL 
  7        ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
  8        ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9        ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 16, 1), offset=0, mask=None, contiguous=False),)))
 10        ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256    4   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   16    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    8    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   16    2    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    2    2    4    4    4    2    2
testing ast 370
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 4480, 80, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 56, 80, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 128, 1, 1), strides=(0, 0, 0, 80, 1, 4480, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 128, 1, 1), strides=(0, 0, 128, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 13    ┃ ┃   ┗━┳ SQRT 
 14    ┃ ┃     ┗━┳ DIV 
 15    ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃       ┗━┳ ADD 
 17    ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┗━┳ DIV 
 21      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━┳ ADD 
 23        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24        ┗━┳ EXP2 
 25          ┗━┳ MUL 
 26            ┣━┳ ADD 
 27            ┃ ┣━┳ MUL 
 28            ┃ ┃ ┣━┳ MUL 
 29            ┃ ┃ ┃ ┣━┳ SUB 
 30            ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 56, 80, 1, 1, 1)
 31            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 32            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 128, 1, 1), strides=(0, 0, 0, 80, 1, 4480, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 128, 1, 1), strides=(0, 0, 128, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 37            ┃ ┃   ┗━┳ SQRT 
 38            ┃ ┃     ┗━┳ DIV 
 39            ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━┳ ADD 
 41            ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 80, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 4480  128
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  64 1120  128    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32 1120  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8 1120    4  128    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
   8  160    4  128    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  160    4    2  128    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   80    4    2  128    4    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   80    2    2  128    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   4   96    2    2  128    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   96    2    2    4   32    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   96    2    2    4    4    8    4    2    7    2    2
testing ast 371
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 3, 2), strides=(0, 0, 6, 0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 3, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 3, 2), strides=(0, 0, 0, 1, 11, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 3, 2), strides=(0, 0, 10, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    3    2   10
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   6    2   10    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   10    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   10    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    6   10
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 372
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 5, 1, 1, 1, 3, 4), strides=(180, 60, 0, 12, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 3, 1, 5, 1, 1, 1, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 5, 1, 1, 5, 3, 4), strides=(25, 0, 0, 5, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 5, 1, 1, 5, 3, 4), strides=(180, 60, 0, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   2    3    5   12    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3)]
   2    3    5    4    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    5    4    3    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    3    5    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    4    3    3    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    3    3    2    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 373
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 64, 64, 1, 1, 1), strides=(0, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 640, 64, 64, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 640, 32, 2, 32, 2), strides=(0, 1024, 32, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 640, 4, 66, 4, 66), strides=(0, 4096, 0, 64, 0, 1), offset=-65, mask=((0, 1), (0, 640), (0, 4), (1, 65), (0, 4), (1, 65)), contiguous=False), View(shape=(1, 1, 640, 64, 64, 640, 3, 3), strides=(0, 0, 0, 264, 1, 69696, 17688, 67), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 64, 64, 640, 3, 3), strides=(0, 0, 5760, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 640   64   64  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 640   64    4   16  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 640   64    2   16  640    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 640   64   16  640    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 640   64   16    8   80    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
 640   64   16    8   80    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 640   64   16    8   80    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 160   64   16    8   80    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
 160   64    4    4    8   80    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 160   64    2    4    2    8   80    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 160   64    4    2    2    8   80    2    2    3    3    4
testing ast 374
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 4096, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 240), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 240), strides=(0, 240, 1), offset=0, mask=None, contiguous=True),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4096, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
4096  240
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
4096    8   30
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
1024    8   30    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 512    8   30    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 512    2   30    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 256    2    2   30    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    2   30    4    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2   30    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2    2   32   30    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   32    2   30    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2    2    2   16   30    4    2    4    2    4
testing ast 375
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 5, 1, 1, 5, 1, 5, 3, 4), strides=(1500, 0, 0, 300, 0, 0, 60, 0, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 5, 1, 1, 5, 1, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 5, 6, 1, 5, 1, 5, 3, 4), strides=(0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 5, 6, 1, 5, 1, 5, 3, 4), strides=(1800, 0, 0, 360, 60, 0, 12, 0, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
  10    5    5   12    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4)]
  10    5    5    3    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  10    5    3    4    6    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  10    3    4    6    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  10    3    4    5    5    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10    3    2    2    5    5    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10    3    2    2    5    5    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 376
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 20480), strides=(0, 20480, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=4.8828125e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32 20480
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32 20480
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8 20480    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
20480    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8 2560    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8  640    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   32   20    4    8    4
testing ast 377
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 320, 32, 32, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 4, 66, 4, 66), strides=(0, 4096, 0, 64, 0, 1), offset=-65, mask=((0, 1), (0, 320), (0, 4), (1, 65), (0, 4), (1, 65)), contiguous=False), View(shape=(1, 1, 320, 32, 32, 320, 3, 3), strides=(0, 0, 0, 528, 2, 69696, 17688, 67), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 32, 32, 320, 3, 3), strides=(0, 0, 2880, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 320   32   32  320    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 320   32    2   16  320    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 320   32    2    8  320    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 320   32    8  320    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  10   32    8   32  320    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  10   32    8   32  320    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  10   32    8    8  320    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  10   32    8    8  320    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10   32    4    8    2  320    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  10   16    4    8    2    2  320    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  10    8    4    8    2    2    2  320    2    2    3    4    3
testing ast 378
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 144, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━┳ ADD 
 26            ┃   ┣━┳ MUL 
 27            ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(144, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28            ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(144, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┗━┳ MUL 
 31              ┣━┳ MUL 
 32              ┃ ┣━┳ DIV 
 33              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34              ┃ ┃ ┗━┳ ADD 
 35              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36              ┃ ┃   ┗━┳ EXP2 
 37              ┃ ┃     ┗━┳ MUL 
 38              ┃ ┃       ┣━┳ ADD 
 39              ┃ ┃       ┃ ┣━┳ MUL 
 40              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 41              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 42              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 43              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃ ┗━┳ SUB 
 49              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃   ┗━┳ DIV 
 51              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52              ┃     ┗━┳ ADD 
 53              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54              ┃       ┗━┳ EXP2 
 55              ┃         ┗━┳ MUL 
 56              ┃           ┣━┳ ADD 
 57              ┃           ┃ ┣━┳ MUL 
 58              ┃           ┃ ┃ ┣━┳ MUL 
 59              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 60              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 61              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66              ┗━┳ MUL 
 67                ┣━┳ ADD 
 68                ┃ ┣━┳ MUL 
 69                ┃ ┃ ┣━┳ MUL 
 70                ┃ ┃ ┃ ┣━┳ SUB 
 71                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 72                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 73                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 74                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 75                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 76                ┗━┳ ADD 
 77                  ┣━┳ MUL 
 78                  ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(144, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 79                  ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 80                  ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(144, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 144    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
 144   16    2  196
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  48   16    2  196    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  24   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    4    2  196    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32    4  196    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   8    4    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    4    2    4   49    3    2    4    2    4
testing ast 379
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 2, 2), strides=(0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.long, False)
  4      ┃ ┗━┳ CMPEQ 
  5      ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 2, 2), strides=(0, 2, 1), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 2, 2), strides=(1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(4, 2, 2), strides=(2, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4
testing ast 380
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 3, 1, 1, 1), strides=(198, 0, 33, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 11, 3, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 3, 1, 1, 5), strides=(77, 0, 0, 7, 1, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 3, 1, 1, 5), strides=(0, 0, 5, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 3, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   11    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3)]
   4    6   11    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   11    3    5    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    3    5    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 381
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.002551020408163265, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 80, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(15680, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 80, 14, 14), strides=(15680, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃   ┗━┳ MUL 
 16      ┃ ┃     ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 17      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━┳ MUL 
 20        ┣━┳ ADD 
 21        ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 22        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┗━┳ ADD 
 24          ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 25          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 80, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  80    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  20    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  10    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  10    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    2   49    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5   49    4    2    4    2    2
testing ast 382
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 768, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 768, 768)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768, 768), strides=(4608, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768, 768), strides=(4608, 1, 6, 0), offset=0, mask=None, contiguous=False),)))
 768  768    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
 768  256    2    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 384  256    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 384  128    2    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 384  128    2    2    3    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 192  128    2    2    2    3    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  64  128    2    2    2    3    2    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   64    2    2    2    3    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   64    2    2   32    2    3    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   32    2    2   32    2    2    3    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=8)]
   2   32    2    2    4    2    8    2    3    2    6    3    2
testing ast 383
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (7, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=32.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 13), strides=(0, 0), offset=0, mask=((0, 8), (6, 13)), contiguous=False), View(shape=(7, 7), strides=(1, 14), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=-32.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    7
testing ast 384
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 56, 56, 1, 1), strides=(0, 3136, 56, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 24, 56, 56, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 56, 56, 3, 3), strides=(0, 12996, 228, 2, 114, 1), offset=0, mask=None, contiguous=False),)))
  24   56   56    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  24   56    7    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  24   28    7    8    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  24   28    8    3    3    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
  24    4    8    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  12    4    8    2    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  12    4    4    2    3    3    2    7    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  12    4    2    2    2    3    3    2    7    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  12    2    2    2    2    2    3    3    2    7    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   4    2    2    2    2    2    3    3    3    2    7    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    2    2    2    2    3    4    3    3    2    7    7    2
testing ast 385
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 8, 4096, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 4096), strides=(0, 16777216, 4096, 1), offset=0, mask=None, contiguous=True),)))
32768 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
1024   32 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
1024   16 4096    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 512   16 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 512    4    4 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 256    4    4    2 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    4    4    2 1024    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 256    2    4    2 1024    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128    2    4    2 1024    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 128    2    4    2    8  128    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 128    2    2    8  128    2    2    4    2    2    4
testing ast 386
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1), strides=(2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPEQ 
  5      ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 2, 2), strides=(2, 1, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 2, 2), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  7      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 2), strides=(2, 0, 1), offset=0, mask=None, contiguous=False),)))
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    2
testing ast 387
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 14, 16, 1, 1, 1, 4, 1, 1, 1, 1), strides=(896, 64, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 14, 16, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 4, 16, 4, 18), strides=(572, 0, 0, 1, 0, 52, 0, 4), offset=-112, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 4), (2, 13), (0, 4), (2, 15)), contiguous=False), View(shape=(2, 14, 16, 1, 1, 1, 4, 1, 4, 3, 3), strides=(18432, 72, 1, 0, 0, 0, 0, 0, 4608, 1224, 19), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 14, 16, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   2   14   16    4    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   14    8    4    4    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  14    8    4    4    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  14    8    4    4    3    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  14    8    4    3    2    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  14    8    2    3    2    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  14    4    2    3    2    2    3    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   7    4    2    2    3    2    2    3    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   7    2    2    2    2    3    2    2    3    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
testing ast 388
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5), strides=(20, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 4, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 8, 4, 5), strides=(0, 4, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 8, 4, 5), strides=(40, 5, 0, 1), offset=0, mask=None, contiguous=False),)))
   4    4    5    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    5    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    5    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    4    2    5
testing ast 389
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 2, 1), strides=(4, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 2, 2, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 2, 5), strides=(20, 10, 5, 1), offset=0, mask=None, contiguous=True),)))
  16    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    8    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    5    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    8    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 38, in compile_hip
    raise RuntimeError("compile failed")
RuntimeError: compile failed
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    2    5
testing ast 390
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(40, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ ADD 
  4    ┃   ┣━┳ SUM (40, 1)
  5    ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(41, 79), strides=(0, 0), offset=0, mask=((0, 41), (39, 79)), contiguous=False), View(shape=(40, 40), strides=(1, 80), offset=0, mask=None, contiguous=False))))
  6    ┃   ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(40, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(40, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  40   40
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  10   40    4
/tmp/comgr-1bdfe9/input/<null>:51:3: error: unknown type name 'int4'
  int4 acc0 = make_int4(0,0,0,0);
  ^
/tmp/comgr-1bdfe9/input/<null>:51:15: error: use of undeclared identifier 'make_int4'
  int4 acc0 = make_int4(0,0,0,0);
              ^
2 errors generated when compiling for gfx1100.

LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=UnaryOps.CAST, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(41, 79), strides=(0, 0), offset=0, mask=((0, 41), (39, 79)), contiguous=False), View(shape=(40, 40), strides=(1, 80), offset=0, mask=None, contiguous=False))))),), arg=(40, 1)), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(40, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(dtypes.float, False)), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(40, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(40, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=0, amt=4)]
COMPILE FAILED!!
testing ast 391
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 5), strides=(5, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 1, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 8, 5), strides=(8, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 8, 5), strides=(0, 5, 1), offset=0, mask=None, contiguous=False),)))
   3    5    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    5    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    3    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   4    3    5    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    5    2    4
testing ast 392
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 512, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    4    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2    2   49    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2   49    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2   49    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   49    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 393
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.25, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    8    4
testing ast 394
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=29952, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 395
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ NEG 
  2    ┗━┳ MUL 
  3      ┣━┳ SUM (1,)
  4      ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500,), strides=(1,), offset=0, mask=None, contiguous=True),)))
  5      ┗━━ CONST ConstBuffer(val=0.002, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
 500
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 125    4
testing ast 396
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 8, 6), strides=(0, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 9, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6), strides=(9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6), strides=(48, 0, 6, 1), offset=0, mask=None, contiguous=False),)))
   9   48    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   9    3   16    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   9    3    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   9    8    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    8    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   9    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    2    2    3    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 397
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(9, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (9, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 17), strides=(0, 0), offset=0, mask=((0, 10), (8, 17)), contiguous=False), View(shape=(9, 9), strides=(1, 18), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(9, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   9    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    9    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    3    9
testing ast 398
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 4, 4, 1, 1, 1), strides=(0, 0, 16, 4, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 256, 4, 4, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 8, 8), strides=(0, 49, 7, 1), offset=0, mask=((0, 1), (0, 256), (0, 7), (0, 7)), contiguous=False), View(shape=(1, 256, 4, 6, 4, 6), strides=(0, 64, 0, 16, 0, 2), offset=-18, mask=((0, 1), (0, 256), (0, 4), (1, 5), (0, 4), (1, 5)), contiguous=False), View(shape=(1, 1, 256, 4, 4, 256, 3, 3), strides=(0, 0, 0, 24, 1, 576, 168, 7), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 4, 4, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 4, 4, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 4, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256    4    4  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   8    4    4   32  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    4    4   32  256    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4   32  256    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4   32    2  256    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   2    4   32    2  256    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    4   32    2   64    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    2   32    2   64    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   2    2    4    2    8   64    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    4    2    8    2   64    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    2    8    2    2   64    3    2    4    3    4    2
testing ast 399
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  4    ┃ ┗━┳ ADD 
  5    ┃   ┣━┳ SUM (1, 512, 1)
  6    ┃   ┃ ┗━┳ MUL 
  7    ┃   ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1024), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃   ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1024), strides=(0, 1024, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
 10    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  16   32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   16 1024    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   16    4 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   16    2 1024    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2    4    2 1024    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    4 1024    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 1024    2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    8  128    2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    8  128    2    2    2    4    2    4
testing ast 400
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 13, 13, 1, 1, 1), strides=(676, 0, 169, 13, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (2, 1, 4, 13, 13, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 17, 4, 17), strides=(324, 81, 0, 9, 0, 1), offset=-40, mask=((0, 2), (0, 4), (0, 4), (4, 13), (0, 4), (4, 13)), contiguous=False), View(shape=(2, 1, 4, 13, 13, 4, 3, 3), strides=(18496, 0, 0, 68, 1, 4624, 1292, 19), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 13, 13, 4, 3, 3), strides=(0, 0, 9, 0, 0, 36, -3, -1), offset=8, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 13, 13, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4   13   13    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=13)]
   2    4   13   13    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=13), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   13   13    4    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=13), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13   13    4    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=13), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=13)]
testing ast 401
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 320, 64, 64, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 640, 1, 1), strides=(2621440, 0, 0, 64, 1, 4096, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 640, 1, 1), strides=(0, 0, 640, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  320 4096  640
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   80 4096  640    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  80 4096  640    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  80 1024    4  640    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  40 1024    4    2  640    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40 1024    4    2  160    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  40 1024    2    2  160    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  40  512    2    2  160    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  40  512    2    2    8   20    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  40  512    2    8   20    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  40   64    2    8    8   20    4    2    4    2    2    2
testing ast 402
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 768), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 768)
  2    ┗━┳ MUL 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ SUB 
  5      ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768), strides=(4608, 768, 1), offset=0, mask=None, contiguous=True),)))
  6      ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768), strides=(6, 1, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768), strides=(6, 1, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768), strides=(4608, 768, 1), offset=0, mask=None, contiguous=True),)))
 768   12
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  24   32   12
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6   32   12    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   12    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4   12    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2   12    4    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    2    3    4    6    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 403
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=19200, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 404
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 128), strides=(0, 128, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 128)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 128), strides=(128, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 128), strides=(10, 1, 0), offset=0, mask=None, contiguous=False),)))
  10  128  128
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  10  128   32    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  10   64   32    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5   64   32    4    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5   64   32    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5   32   32    2    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5   16   32    2    2    4    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5    4   32    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2   32    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2   32    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 405
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(1936, 121, 11, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ CAST (dtypes.float, False)
 10          ┃ ┗━┳ CMPLT 
 11          ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃   ┗━┳ MAX 
 13          ┃     ┣━┳ ADD 
 14          ┃     ┃ ┣━┳ MUL 
 15          ┃     ┃ ┃ ┣━┳ MUL 
 16          ┃     ┃ ┃ ┃ ┣━┳ SUB 
 17          ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(1936, 121, 11, 1), offset=0, mask=None, contiguous=True),)))
 18          ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19          ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20          ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21          ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22          ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23          ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 2, 5, 2), strides=(1600, 100, 20, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(128, 16, 11, 11), strides=(1600, 100, 10, 1), offset=0, mask=((0, 128), (0, 16), (0, 10), (0, 10)), contiguous=False))))
  16  128   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   32    4   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32    4   11   11    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    4   11   11    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  32    4   11    4    4   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4   11    4    4   11
testing ast 406
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 1, 1, 1), strides=(50176, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 256, 14, 14, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 128, 4, 30, 4, 30), strides=(100352, 784, 0, 28, 0, 1), offset=-29, mask=((0, 2), (0, 128), (0, 4), (1, 29), (0, 4), (1, 29)), contiguous=False), View(shape=(2, 1, 256, 14, 14, 128, 3, 3), strides=(1843200, 0, 0, 240, 2, 14400, 3720, 31), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 128, 3, 3), strides=(0, 0, 1152, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
   2  256   14   14  128    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2  256   14   14    8   16    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2  256   14    7    8   16    3    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256   14    7    8   16    3    3    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
 256   14    7    8   16    3    2    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 256   14    7    8   16    2    2    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 128   14    7    2    8   16    2    2    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   14    7    2    8   16    2    2    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32   14    7    2    8    4    4    2    2    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   14    7    2    2    8    4    4    2    2    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  16   14    7    2    2    8    4    4    2    2    3    3    4
testing ast 407
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 5), strides=(5, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 5), strides=(0, 5, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 5), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   5    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    4    3
testing ast 408
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 768, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 768, 768)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 768, 768), strides=(4608, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 12, 64), strides=(4608, 64, 384, 1), offset=0, mask=None, contiguous=False), View(shape=(2, 6, 768, 768), strides=(4608, 768, 1, 0), offset=0, mask=None, contiguous=False))))
 768  768    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
 768  256    2    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 384  256    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 384  128    2    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 384  128    2    2    3    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 192  128    2    2    2    3    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  64  128    2    2    2    3    2    6    3
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   64    2    2    2    3    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   64    2    2   32    2    3    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   32    2    2   32    2    2    3    2    6    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=8)]
   2   32    2    2    4    2    8    2    3    2    6    3    2
testing ast 409
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 1, 1, 1), strides=(0, 0, 2048, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 24, 32, 64, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 144, 1, 1), strides=(0, 0, 0, 64, 1, 2048, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 144, 1, 1), strides=(0, 0, 144, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 1, 1, 1), strides=(0, 0, 2048, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  24 2048  144
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6 2048  144    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
2048  144    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
 512    4  144    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128    4  144    4    6    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128    2    2  144    4    6    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    2    2  144    4    6    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64    2    2  144    4    6    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64    2    2    4   36    4    6    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    2    2    4   36    4    6    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    2    2    2    4    4   36    4    6    4    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 144, 1, 1), strides=(0, 0, 0, 64, 1, 2048, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 144, 1, 1), strides=(0, 0, 144, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 24, 32, 64, 1, 1, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 1, 1, 1), strides=(0, 0, 2048, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 32, 64, 1, 1, 1), strides=(0, 0, 2048, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
COMPILE FAILED!!
testing ast 410
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 15, 32, 1, 1, 1), strides=(1920, 0, 480, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 4, 15, 32, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 15, 32, 3, 1, 1), strides=(924, 0, 0, 28, 1, 308, 0, 0), offset=-58, mask=((0, 4), (0, 1), (0, 4), (2, 13), (2, 30), (0, 3), (0, 1), (0, 1)), contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 15, 32, 3, 1, 1), strides=(0, 0, 3, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 15, 32, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4   15   32    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2   15   32    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   15   32    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2   15   32    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   2   15    8    2    4    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   15    4    2    4    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2   15    2    2    2    4    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  15    2    2    2    2    4    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  15    2    2    2    2    4    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    2    2    2    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    2    2    4    3    4    2
testing ast 411
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 2, 2), strides=(4, 0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 2, 2), strides=(0, 4, 2, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 2, 2), strides=(5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    5
testing ast 412
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1), strides=(6, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (2, 6, 1)
  2    ┗━┳ SUB 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 10), strides=(60, 10, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 10), strides=(6, 1, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 10), strides=(6, 1, 0), offset=0, mask=None, contiguous=False),)))
  12   10
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   4    3   10
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   10    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    3   10
testing ast 413
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 1, 1), strides=(672, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 672, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ ADD 
  5    ┃   ┃ ┣━┳ MUL 
  6    ┃   ┃ ┃ ┣━┳ MUL 
  7    ┃   ┃ ┃ ┃ ┣━┳ SUB 
  8    ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(131712, 196, 0, 0, 14, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃   ┗━┳ DIV 
 14    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃     ┗━┳ ADD 
 16    ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃       ┗━┳ EXP2 
 18    ┃         ┗━┳ MUL 
 19    ┃           ┣━┳ ADD 
 20    ┃           ┃ ┣━┳ MUL 
 21    ┃           ┃ ┃ ┣━┳ MUL 
 22    ┃           ┃ ┃ ┃ ┣━┳ SUB 
 23    ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(131712, 196, 0, 0, 14, 1), offset=0, mask=None, contiguous=True),)))
 24    ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25    ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26    ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27    ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28    ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 14, 14), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29    ┗━━ CONST ConstBuffer(val=0.00510204081632653, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  672  196
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2   84    8  196
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   84    4  196    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  84    4  196    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
testing ast 414
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1, 1, 1), strides=(81920, 0, 64, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 1280, 8, 8, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 2560, 1, 1), strides=(163840, 0, 0, 8, 1, 64, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 2560, 1, 1), strides=(0, 0, 2560, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1, 1, 1), strides=(81920, 0, 64, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1280   64 2560
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  320   64 2560    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 320   64 2560    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 320   16    4 2560    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160   16    4    2 2560    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 160   16    4    2  640    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 160   16    2    2  640    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 160    8    2    2  640    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 160    8    2    2    8   80    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 160    8    2    8   80    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 160    2    8    8   80    4    2    4    2    2    2
testing ast 415
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ NEG 
  2    ┗━┳ MAX (1, 1)
  3      ┗━┳ NEG 
  4        ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(587, 1), strides=(4, 0), offset=2, mask=None, contiguous=False),)))
 587
testing ast 416
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 2048), strides=(0, 2048, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=1.9073486328125e-06, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32 2048
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32 2048
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8 2048    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
2048    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  256    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   8   64    4    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   32    2    4    8    4
testing ast 417
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(4, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━┳ EXP2 
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ SUB 
  5    ┃   ┃ ┣━┳ MUL 
  6    ┃   ┃ ┃ ┣━┳ SUM (2, 4, 1, 1, 1)
  7    ┃   ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃   ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃   ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 10    ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃   ┃ ┗━┳ MUL 
 12    ┃   ┃   ┣━┳ SUM (2, 4, 1, 1, 1)
 13    ┃   ┃   ┃ ┗━┳ MUL 
 14    ┃   ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 15    ┃   ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 16    ┃   ┃   ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┗━┳ EXP2 
 19      ┗━┳ MUL 
 20        ┣━┳ SUB 
 21        ┃ ┣━┳ MUL 
 22        ┃ ┃ ┣━┳ SUM (2, 4, 1, 1, 1)
 23        ┃ ┃ ┃ ┗━┳ MUL 
 24        ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 25        ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 26        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27        ┃ ┗━┳ MUL 
 28        ┃   ┣━┳ SUM (2, 4, 1, 1, 1)
 29        ┃   ┃ ┗━┳ MUL 
 30        ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 31        ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 8), strides=(32, 8, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
 32        ┃   ┗━━ CONST ConstBuffer(val=0.35355339059327373, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 1, 1, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4    4    2
testing ast 418
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 256, 256, 1, 1, 1), strides=(0, 0, 65536, 256, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 256, 256, 256, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 4, 258, 4, 258), strides=(0, 65536, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 256), (0, 4), (1, 257), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 256, 256, 256, 256, 3, 3), strides=(0, 0, 0, 1032, 1, 1065024, 267288, 259), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 256, 256, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 256, 256, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256  256  256  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 256  256   16   16  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 256  256   16    8  256    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  256   16    8  256    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   64   16    8    4  256    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   64   16    8    4  256    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   64   16    8    4  256    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   8   64   16    4    4  256    3    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   8   64   16    2    4  256    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8   64    8    2    4    2  256    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  64    8    2    4    2    8  256    3    3    2    2    4    4    2    2
testing ast 419
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(15, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (15, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(15, 15), strides=(15, 1), offset=0, mask=None, contiguous=True),)))
  15   15
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3   15
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   15    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  15    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    3   15
testing ast 420
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 8, 6), strides=(0, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 9, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6), strides=(9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 8, 6), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   9   48    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   9    3   16    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   9    3    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   9    8    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    8    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   9    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    2    2    3    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 421
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1024, 80, 1), strides=(0, 81920, 80, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 1024, 80, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1024, 80, 77), strides=(0, 78848, 77, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1024, 80, 77), strides=(0, 80, 0, 1, 640), offset=0, mask=None, contiguous=False),)))
   8 1024   80   77
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   8 1024   40   77    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1024   40   77    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
1024   64   77    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 512   64    2   77    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128   64    2   77    2    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   64    2   77    2    8    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 422
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 4096, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 77), strides=(0, 315392, 77, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 77), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 4096, 77), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
32768   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
2048   16   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
2048    8   77    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
2048   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
 128   16   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   16    2   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   16    2   77    2    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   16    2   77    2    8    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    8    2    2   77    2    8    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4    2    2    2    4   77    2    8    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    4    2   77    2    8    4    4
testing ast 423
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 10, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1600), strides=(1600, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1600), strides=(0, 1, 10), offset=0, mask=None, contiguous=False),)))
 128   10 1600
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
 128   10   32   50
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128    5   32   50    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 128   32   50    2    5
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  16    8   32   50    2    5
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  16    2   32   50    2    5    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2   32   50    2    5    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    2   32   50    2    5    4    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   32   50    2    5    4    2    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1600), strides=(1600, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1600), strides=(0, 1, 10), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(128, 10, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
COMPILE FAILED!!
testing ast 424
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.int, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━┳ ADD 
  6    ┃     ┣━┳ SUM (3, 1)
  7    ┃     ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 5), strides=(0, 0), offset=0, mask=((0, 4), (2, 5)), contiguous=False), View(shape=(3, 3), strides=(1, 6), offset=0, mask=None, contiguous=False))))
  8    ┃     ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
   3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    3
testing ast 425
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 1, 1, 16, 1, 1), strides=(0, 0, 16, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 16, 1, 1, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 32, 32, 16, 1, 1), strides=(0, 0, 0, 32, 1, 1024, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 32, 32, 16, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   16 1024
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  16    4 1024    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  16 1024    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8  128    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    8   32    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8    8    4    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 426
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.int, False)
  2    ┗━┳ CMPEQ 
  3      ┣━┳ CAST (dtypes.int, False)
  4      ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.uchar, st=ShapeTracker(views=(View(shape=(69, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  5      ┗━┳ SUB 
  6        ┣━┳ SUB 
  7        ┃ ┣━━ CONST ConstBuffer(val=10.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┃ ┗━┳ MAX (69, 1)
  9        ┃   ┗━┳ MUL 
 10        ┃     ┣━┳ CAST (dtypes.int, False)
 11        ┃     ┃ ┗━┳ CMPEQ 
 12        ┃     ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃     ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
 14        ┃     ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 10), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(69, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  69   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  23   10    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  23    3   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    3   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    3   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    3   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    3   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    3   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    3   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 427
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(16, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (16, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(17, 31), strides=(0, 0), offset=0, mask=((0, 17), (15, 31)), contiguous=False), View(shape=(16, 16), strides=(1, 32), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(16, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  16   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    8    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    4    2    2
testing ast 428
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 13, 13), strides=(1352, 169, 13, 1), offset=0, mask=None, contiguous=True),)))
   8   32  169
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   32  169
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4   32  169    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32  169    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8  169    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 169    2    4    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=13)]
  13   13    2    4    4    8
testing ast 429
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (2, 1, 320, 64, 64, 1, 1, 1)
  5      ┃ ┗━┳ MUL 
  6      ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 4, 66, 4, 66), strides=(1310720, 4096, 0, 64, 0, 1), offset=-65, mask=((0, 2), (0, 320), (0, 4), (1, 65), (0, 4), (1, 65)), contiguous=False), View(shape=(2, 1, 320, 64, 64, 320, 3, 3), strides=(22302720, 0, 0, 264, 1, 69696, 17688, 67), offset=0, mask=None, contiguous=False))))
  7      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 320, 3, 3), strides=(0, 0, 2880, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  8      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  320   64   64  320    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   20   64   64   16  320    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   20   64   32   16  320    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20   64   32   16  320    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
  20   64    2   16   16  320    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4)]
  20   64    2   16    4  320    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  20   16    2   16    4  320    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  20    4    2   16    4  320    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  20    4   16    4    2  320    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  20    2   16    4    2    2  320    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  20    2   16    2    2    2    2  320    3    3    2    2    4    4    4
testing ast 430
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MUL 
  3    ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ ADD 
  5    ┃   ┣━┳ SUM (1, 1, 4096, 1)
  6    ┃   ┃ ┗━┳ MUL 
  7    ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),)))
  9    ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 10    ┗━┳ ADD 
 11      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┗━┳ SUB 
 13        ┣━┳ MUL 
 14        ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┃ ┗━┳ DIV 
 16        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17        ┃   ┗━┳ ADD 
 18        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19        ┃     ┗━┳ EXP2 
 20        ┃       ┗━┳ MUL 
 21        ┃         ┣━┳ MUL 
 22        ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┃         ┃ ┗━┳ MUL 
 24        ┃         ┃   ┣━┳ MUL 
 25        ┃         ┃   ┃ ┣━┳ ADD 
 26        ┃         ┃   ┃ ┃ ┣━┳ SUM (1, 1, 4096, 1)
 27        ┃         ┃   ┃ ┃ ┃ ┗━┳ MUL 
 28        ┃         ┃   ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 29        ┃         ┃   ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),)))
 30        ┃         ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 31        ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32        ┃         ┃   ┗━┳ ADD 
 33        ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34        ┃         ┃     ┗━┳ MUL 
 35        ┃         ┃       ┣━┳ MUL 
 36        ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37        ┃         ┃       ┃ ┗━┳ ADD 
 38        ┃         ┃       ┃   ┣━┳ SUM (1, 1, 4096, 1)
 39        ┃         ┃       ┃   ┃ ┗━┳ MUL 
 40        ┃         ┃       ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 41        ┃         ┃       ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),)))
 42        ┃         ┃       ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 43        ┃         ┃       ┗━┳ ADD 
 44        ┃         ┃         ┣━┳ SUM (1, 1, 4096, 1)
 45        ┃         ┃         ┃ ┗━┳ MUL 
 46        ┃         ┃         ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 47        ┃         ┃         ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1, 4096), offset=0, mask=None, contiguous=False),)))
 48        ┃         ┃         ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 49        ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50        ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
4096 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 128   32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   16 1024    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   16 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64    4    4 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    4    4    2 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    4    4    2  256    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    2    4    2  256    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    2    4    2  256    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    2    4    2    8   32    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  16    2    2    8   32    2    2    4    2    2    4
testing ast 431
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1), strides=(64, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 64, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1280), strides=(81920, 1280, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.00078125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128 1280
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   4   32 1280
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   32 1280    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32 1280    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4 1280    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2 1280    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2 1280    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2  320    2    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2  320    2    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    8   40    2    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 432
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(451584, 3136, 0, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (2, 144, 1, 56, 56, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 4, 58, 4, 58), strides=(451584, 3136, 0, 56, 0, 1), offset=-57, mask=((0, 2), (0, 144), (0, 4), (1, 57), (0, 4), (1, 57)), contiguous=False), View(shape=(2, 144, 1, 56, 56, 1, 3, 3), strides=(7750656, 53824, 0, 232, 1, 0, 13688, 59), offset=0, mask=None, contiguous=False))))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 3, 3), strides=(0, 1, 0, 0, 0, 0, 432, 144), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SQRT 
 12    ┃   ┗━┳ DIV 
 13    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━┳ ADD 
 15    ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 56, 56, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  144   56   56    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2   18   56   56    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   18   28   56    8    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  18   28   56    8    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   28   56    8    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  32   28   56    2    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
  32    4   56    2    3    3    2    2    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 433
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16, 16), strides=(16, 1), offset=0, mask=None, contiguous=True),)))
 256
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8   32
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   32
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    8
testing ast 434
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 280, 20, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 14, 20, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 4, 16, 4, 22), strides=(0, 280, 0, 20, 0, 1), offset=-21, mask=((0, 1), (0, 64), (0, 4), (1, 15), (0, 4), (1, 21)), contiguous=False), View(shape=(1, 1, 64, 14, 20, 64, 3, 3), strides=(0, 0, 0, 88, 1, 5632, 1496, 23), offset=0, mask=None, contiguous=False))))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 13    ┃ ┃   ┗━┳ SQRT 
 14    ┃ ┃     ┗━┳ DIV 
 15    ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃       ┗━┳ ADD 
 17    ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┗━┳ DIV 
 21      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━┳ ADD 
 23        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24        ┗━┳ EXP2 
 25          ┗━┳ MUL 
 26            ┣━┳ ADD 
 27            ┃ ┣━┳ MUL 
 28            ┃ ┃ ┣━┳ MUL 
 29            ┃ ┃ ┃ ┣━┳ SUB 
 30            ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 14, 20, 1, 1, 1)
 31            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 32            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 4, 16, 4, 22), strides=(0, 280, 0, 20, 0, 1), offset=-21, mask=((0, 1), (0, 64), (0, 4), (1, 15), (0, 4), (1, 21)), contiguous=False), View(shape=(1, 1, 64, 14, 20, 64, 3, 3), strides=(0, 0, 0, 88, 1, 5632, 1496, 23), offset=0, mask=None, contiguous=False))))
 33            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 37            ┃ ┃   ┗━┳ SQRT 
 38            ┃ ┃     ┗━┳ DIV 
 39            ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━┳ ADD 
 41            ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   14   20   64    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   14   20    4   16    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   14   20    4   16    3    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   14   20    4   16    3    3    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   14   20    4    3    3    4    2   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4   14   20    2    4    3    3    4    2   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   14   10    2    4    3    3    4    2   16    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    7   10    2    2    4    3    3    4    2   16    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    7   10    2    2    2    4    3    3    4    2   16    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   7   10    2    2    2    2    4    3    3    4    2   16    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   7   10    2    2    2    2    4    3    3    4    2   16    2
testing ast 435
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 114, 1, 114), strides=(415872, 12996, 0, 114, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 32, 1, 114, 1, 114)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 3, 115, 3, 115), strides=(3612672, 112896, 3, 1008, 1, 9), offset=0, mask=((0, 2), (0, 32), (0, 3), (0, 112), (0, 3), (0, 112)), contiguous=False), View(shape=(2, 32, 456, 456), strides=(3808800, 119025, 345, 1), offset=0, mask=((0, 2), (0, 32), (0, 345), (0, 345)), contiguous=False), View(shape=(2, 32, 4, 114, 4, 114), strides=(6653952, 207936, 51984, 456, 114, 1), offset=0, mask=None, contiguous=True))))
   2   32  114  114    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
   2   32  128  114    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   32  128   57    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32  128   57    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  32  128   57    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16  128   57    2    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16  128   57    2    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4  128   57    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   64   57    2    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   4    4   57    2    2   16    2    2    4    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   57    2    2   16    2    2    2    4    4    4
testing ast 436
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 2, 1), strides=(0, 0, 2, 0, 0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 7, 1, 2, 1), strides=(0, 0, 0, 7, 1, 0, 7, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 7, 1, 2, 1), strides=(0, 0, 70, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    2   70
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   6    2   70
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   70    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  70    6    2
testing ast 437
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 10240, 1), strides=(0, 10240, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 64, 10240, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 10240, 1280), strides=(0, 1280, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 10240, 1280), strides=(0, 0, 1280, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 10240, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
  64 10240 1280
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  64 2560 1280    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32 2560 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  32  640    4 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16  640    4    2 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16  640    4    2  320    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  16  640    2    2  320    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16  320    2    2  320    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16  320    2    2    8   40    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  16  320    2    8   40    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  16   40    2    8    8   40    4    2    4    2    2    2
testing ast 438
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 5, 1)
  2    ┗━┳ WHERE 
  3      ┣━┳ CMPEQ 
  4      ┃ ┣━┳ CAST (dtypes.float, False)
  5      ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 5, 1000), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 1000), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  7      ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 1000), strides=(0, 1, 5), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ CAST (dtypes.float, False)
  9        ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 5, 1000), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
   5 1000
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1000    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 250    5    4
testing ast 439
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 1, 5, 4), strides=(20, 0, 0, 0, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (5, 1, 1, 1, 1, 1, 1, 5, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 3, 1, 1, 1, 1, 5, 4), strides=(3, 0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 3, 1, 1, 1, 1, 5, 4), strides=(0, 0, 20, 0, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
   5   20    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   5    5    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    5    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    5    5    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 440
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ NEG 
  2    ┗━┳ MAX (1, 1)
  3      ┗━┳ NEG 
  4        ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1000, 1), strides=(4, 0), offset=3, mask=None, contiguous=False),)))
1000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  125
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 125    8
testing ast 441
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 1, 1, 4, 4, 1, 1, 1, 1), strides=(0, 512, 16, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 32, 32, 1, 1, 4, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 1, 1, 4, 4, 4, 4, 1, 1), strides=(0, 512, 16, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 32, 1, 1, 4, 4, 4, 4, 1, 1), strides=(0, 0, 0, 0, 0, 64, 1, 16, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
1024    4    4   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
1024    2    4   16    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
1024    4   16    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
 256    4    4   16    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    4    4    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    4    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128    4    4    2    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   4    4    4   32    2    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2    4   32    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    4   32    2    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   4    4    8    2    4    2    2    4    4    2    2
testing ast 442
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=60288, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 443
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 15, 1, 5, 1, 5), strides=(375, 25, 0, 5, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 15, 1, 5, 1, 5)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 15, 3, 6, 3, 6), strides=(1215, 81, 3, 27, 1, 9), offset=0, mask=((0, 4), (0, 15), (0, 3), (0, 3), (0, 3), (0, 3)), contiguous=False), View(shape=(4, 15, 20, 20), strides=(4860, 324, 18, 1), offset=0, mask=((0, 4), (0, 15), (0, 18), (0, 18)), contiguous=False), View(shape=(4, 15, 4, 5, 4, 5), strides=(6000, 400, 100, 20, 5, 1), offset=0, mask=None, contiguous=True))))
   4   15    5    5    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  15    5    5    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  15    5    4    4    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  15    4    4    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  15    4    4    5    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  15    2    2    4    5    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  15    2    4    5    5    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 444
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━┳ SUM (32, 1)
  3    ┃ ┗━┳ NEG 
  4    ┃   ┗━┳ MUL 
  5    ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
  6    ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  32   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    8
testing ast 445
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=8064, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 446
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 64, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ MUL 
 15      ┃ ┃   ┃     ┣━┳ CAST (dtypes.float, False)
 16      ┃ ┃   ┃     ┃ ┗━┳ CMPLT 
 17      ┃ ┃   ┃     ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 19      ┃ ┃   ┃     ┗━┳ ADD 
 20      ┃ ┃   ┃       ┣━┳ MUL 
 21      ┃ ┃   ┃       ┃ ┣━┳ CAST (dtypes.float, False)
 22      ┃ ┃   ┃       ┃ ┃ ┗━┳ CMPLT 
 23      ┃ ┃   ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24      ┃ ┃   ┃       ┃ ┃   ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 25      ┃ ┃   ┃       ┃ ┗━┳ ADD 
 26      ┃ ┃   ┃       ┃   ┣━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 28, 2, 28, 2), strides=(50176, 784, 28, 0, 1, 0), offset=0, mask=((0, 2), (0, 64), (0, 28), (0, 1), (0, 28), (0, 1)), contiguous=False), View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True))))
 27      ┃ ┃   ┃       ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(215296, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃       ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(215296, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
 29      ┃ ┃   ┗━┳ MUL 
 30      ┃ ┃     ┣━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 31      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33      ┗━┳ MUL 
 34        ┣━┳ ADD 
 35        ┃ ┣━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 36        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37        ┗━┳ ADD 
 38          ┣━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 39          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64    2   56   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
  64    8    2    7   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    8    2    7   56    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8    2    7   56    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    8    7   56    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    7   56    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
testing ast 447
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 8, 1, 1), strides=(576, 288, 8, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 36, 8, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 8, 5, 5), strides=(6160, 3080, 84, 3, 28, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 36, 8, 5, 5), strides=(576, 288, 8, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   36    8    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  64   64    8    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   64    4    5    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64   64    5    5    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64    8    8    5    5    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  64    8    8    5    2    4    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    8    8    2    5    2    4    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    8    8    2    2    4    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  32    8    4    2    2    2    4    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    4    4    2    2    2    2    4    5    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4    4    4    2    2    2    8    2    4    5    5
testing ast 448
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1280, 1), strides=(0, 1280, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 1280, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1280, 1280), strides=(0, 1280, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1280, 1280), strides=(0, 0, 1280, 1), offset=0, mask=None, contiguous=False),)))
 256 1280 1280
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256  320 1280    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  320 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   80    4 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   80    4    2 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   80    4    2  320    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   80    2    2  320    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   40    2    2  320    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   40    2    2    4   80    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   40    2    2    4   80    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32   40    2    2    4    4   20    4    2    4    2    2    2
testing ast 449
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 6, 1, 1, 1), strides=(360, 0, 60, 6, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 6, 10, 6, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 6, 3, 2, 2), strides=(231, 0, 0, 7, 1, 77, 7, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 6, 3, 2, 2), strides=(0, 0, 12, 0, 0, 4, 2, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 10, 6, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    6   10    6    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    6   10    6    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6   10    6    3    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   6    5    6    2    3    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   6    5    6    2    2    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   6    5    6    2    2    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    5    6    2    2    2    2    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   3    5    3    2    2    2    2    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    5    3    2    2    2    3    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3    3    2    2    2    3    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 450
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 7, 26, 3, 3, 3), strides=(924, 0, 0, 28, 1, 308, 56, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 7, 26, 3, 3, 3), strides=(728, 0, 182, 26, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3    3    3    4    7   26
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   4    3    3    3    4    7   26
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    4    7   26    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    4    7   26    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3    3    7   26    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    7   26    3    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    7   26    3    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 451
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 0, 16, 0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 4, 1, 4, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 3, 7, 3, 7), strides=(0, 0, 0, 1, 0, 16, 0, 4), offset=-40, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 3), (2, 6), (0, 3), (2, 6)), contiguous=False), View(shape=(1, 6, 6, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 21, 1, 0, 0, 0, 0, 0, 441, 168, 8), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 6, 6, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=((0, 1), (0, 6), (0, 6), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 4), (0, 2), (0, 2)), contiguous=False),)))
   4    4    2    2    6    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4    4    2    2    6    6
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2    2    6    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    6    6    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 452
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 4096, 40, 1), strides=(1310720, 163840, 40, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 8, 4096, 40, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 4096, 40, 4096), strides=(134217728, 16777216, 4096, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 4096, 40, 4096), strides=(1310720, 40, 0, 1, 320), offset=0, mask=None, contiguous=False),)))
   2    8 4096   40 4096
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   2    8 4096   40   16  256
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    8 2048   40   16  256    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8 2048   40   16  256    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8 2048   40   16    8   32    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8 2048   40   16   32    2    2    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8 2048   40    4   32    2    2    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   8  512   40    4    4   32    2    2    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  512   40    4    2    4   32    2    2    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4  512   20    4    2    4   32    2    2    8    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4  512   20    4    2    4    4    8    2    2    8    4    2
testing ast 453
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 1, 1, 1), strides=(50176, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 256, 14, 14, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 128, 1, 1), strides=(100352, 0, 0, 56, 2, 784, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 256, 14, 14, 128, 1, 1), strides=(0, 0, 128, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  256   14   14  128
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2  256   14    7  128    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 256   14    7  128    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64   14    7    4  128    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   14    7    4   32    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   14    7    4    8    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   14    7    4    8    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16    7    7    4    2    8    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    7    7    4    2    8    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    7    7    4    2    2    8    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
   8    7    7    2    2    4    8    2    2    4    4    4
testing ast 454
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 1), strides=(0, 16, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ DIV 
  4      ┃ ┣━┳ EXP2 
  5      ┃ ┃ ┗━┳ MUL 
  6      ┃ ┃   ┣━┳ SUB 
  7      ┃ ┃   ┃ ┣━┳ ADD 
  8      ┃ ┃   ┃ ┃ ┣━┳ MUL 
  9      ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 1, 2, 0, 0), offset=0, mask=None, contiguous=False),)))
 10      ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 1, 0, 0, 2), offset=0, mask=None, contiguous=False),)))
 11      ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 12      ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 16, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 16, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 15      ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 16, 1, 16), strides=(0, 1, 0, 0, 2), offset=0, mask=None, contiguous=False),)))
   2   16   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   2   16   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    8   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    4    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    2    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    4    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 455
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 5, 5), strides=(0, 25, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 5, 5)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPEQ 
  5      ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 3, 5, 5), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 3, 5, 5), strides=(5, 20, 1, 0), offset=0, mask=None, contiguous=False),)))
  7      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 5, 5), strides=(5, 20, 1, 0), offset=0, mask=None, contiguous=False),)))
   3    5    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    5    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    3    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    4    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3    5    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 456
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.float, False)
  2    ┗━┳ ADD 
  3      ┣━┳ SUM (2, 1)
  4      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 3), strides=(0, 0), offset=0, mask=((0, 3), (1, 3)), contiguous=False), View(shape=(2, 2), strides=(1, 4), offset=0, mask=None, contiguous=False))))
  5      ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 457
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 672, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 672, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 1), strides=(672, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 672    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  21   32    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   7   32    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4    2    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2    2    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    2    3    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    2    3    7    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4    3    7    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 458
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 1, 10, 2), strides=(20, 0, 0, 0, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 1, 1, 1, 10, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 10, 2), strides=(0, 0, 0, 2, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 1, 6, 10, 2), strides=(60, 0, 0, 10, 1, 0), offset=0, mask=None, contiguous=False),)))
   8   10    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  10    2    8    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  10    2    6    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  10    6    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    2    6    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    2    8    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    8    2    6    2
testing ast 459
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(10, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  10
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  10
testing ast 460
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MUL 
  3    ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━┳ ADD 
  5    ┃   ┣━┳ SUM (1, 1, 4096, 1)
  6    ┃   ┃ ┗━┳ MUL 
  7    ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  8    ┃   ┃   ┗━┳ CAST (dtypes.float, False)
  9    ┃   ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=True),)))
 10    ┃   ┗━┳ CAST (dtypes.float, False)
 11    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 12    ┗━┳ ADD 
 13      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┗━┳ SUB 
 15        ┣━┳ MUL 
 16        ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17        ┃ ┗━┳ DIV 
 18        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19        ┃   ┗━┳ ADD 
 20        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21        ┃     ┗━┳ EXP2 
 22        ┃       ┗━┳ MUL 
 23        ┃         ┣━┳ MUL 
 24        ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25        ┃         ┃ ┗━┳ MUL 
 26        ┃         ┃   ┣━┳ MUL 
 27        ┃         ┃   ┃ ┣━┳ ADD 
 28        ┃         ┃   ┃ ┃ ┣━┳ SUM (1, 1, 4096, 1)
 29        ┃         ┃   ┃ ┃ ┃ ┗━┳ MUL 
 30        ┃         ┃   ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 31        ┃         ┃   ┃ ┃ ┃   ┗━┳ CAST (dtypes.float, False)
 32        ┃         ┃   ┃ ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=True),)))
 33        ┃         ┃   ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 34        ┃         ┃   ┃ ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 35        ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36        ┃         ┃   ┗━┳ ADD 
 37        ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38        ┃         ┃     ┗━┳ MUL 
 39        ┃         ┃       ┣━┳ MUL 
 40        ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41        ┃         ┃       ┃ ┗━┳ ADD 
 42        ┃         ┃       ┃   ┣━┳ SUM (1, 1, 4096, 1)
 43        ┃         ┃       ┃   ┃ ┗━┳ MUL 
 44        ┃         ┃       ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 45        ┃         ┃       ┃   ┃   ┗━┳ CAST (dtypes.float, False)
 46        ┃         ┃       ┃   ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=True),)))
 47        ┃         ┃       ┃   ┗━┳ CAST (dtypes.float, False)
 48        ┃         ┃       ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 49        ┃         ┃       ┗━┳ ADD 
 50        ┃         ┃         ┣━┳ SUM (1, 1, 4096, 1)
 51        ┃         ┃         ┃ ┗━┳ MUL 
 52        ┃         ┃         ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 53        ┃         ┃         ┃   ┗━┳ CAST (dtypes.float, False)
 54        ┃         ┃         ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=True),)))
 55        ┃         ┃         ┗━┳ CAST (dtypes.float, False)
 56        ┃         ┃           ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
 57        ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58        ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
4096 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 128   32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   16 1024    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   16 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64    4    4 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    4    4    2 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    4    4    2  256    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    2    4    2  256    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    2    4    2  256    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    2    4    2    8   32    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  16    2    2    8   32    2    2    4    2    2    4
testing ast 461
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 5, 1, 8), strides=(40, 0, 8, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 5, 1, 8)
  2    ┗━┳ NEG 
  3      ┗━┳ ADD 
  4        ┣━┳ MUL 
  5        ┃ ┣━┳ ADD 
  6        ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(840, 280, 56, 8, 1), offset=0, mask=None, contiguous=True),)))
  7        ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━┳ MUL 
 10          ┣━┳ ADD 
 11          ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(840, 280, 56, 8, 1), offset=0, mask=None, contiguous=True),)))
 12          ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13          ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    5    8    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   2    5    8    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    8    3    7    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    3    7    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    3    5    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    5    2    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    5    2    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    5    2    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 462
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 4, 1, 1, 1, 4, 1, 1, 1, 1), strides=(0, 16, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4, 4, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 3, 5, 3, 5), strides=(0, 0, 0, 1, 0, 16, 0, 4), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 3), (0, 4), (0, 3), (0, 4)), contiguous=False), View(shape=(1, 4, 4, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 15, 1, 0, 0, 0, 0, 0, 225, 90, 6), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 4, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 32, 16), offset=0, mask=None, contiguous=False),)))
   4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    4    4    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4    2    2    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2    2    2    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    2    2    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    2    2    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 463
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(12, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (12, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(12, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(12, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(12, 10), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  12   10
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   4    3   10
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   10    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    3   10
testing ast 464
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ MUL 
  8            ┣━┳ CAST (dtypes.float, False)
  9            ┃ ┗━┳ CMPLT 
 10            ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃   ┗━┳ MAX 
 12            ┃     ┣━┳ ADD 
 13            ┃     ┃ ┣━┳ MUL 
 14            ┃     ┃ ┃ ┣━┳ MUL 
 15            ┃     ┃ ┃ ┃ ┣━┳ SUB 
 16            ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(1936, 121, 11, 1), offset=0, mask=None, contiguous=True),)))
 17            ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18            ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 20            ┃     ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 2, 5, 2), strides=(1600, 100, 20, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(128, 16, 11, 11), strides=(1600, 100, 10, 1), offset=0, mask=((0, 128), (0, 16), (0, 10), (0, 10)), contiguous=False))))
  16  128   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   32    4   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32    4   11   11    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    4   11   11    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  32    4   11    4    4   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4   11    4    4   11
testing ast 465
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 480, 1), strides=(0, 480, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 32, 480, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 480, 256), strides=(0, 122880, 256, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 480, 256), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 480, 256), strides=(0, 122880, 256, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 480, 256), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  32  480  256
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  32  480    8   32
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8  480    8   32    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 480    8   32    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
 120    4    8   32    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  60    4    2    8   32    4    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  60    4    2    2   32    4    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  60    2    2    2   32    4    8    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  60    2    2    2   32    4    8    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  60    2    2    2    8    4    4    8    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  30    2    2    2    2    8    4    4    8    4    2
testing ast 466
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 2, 5), strides=(10, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 2, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 2, 5), strides=(0, 10, 5, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 2, 5), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4   10    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    5    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 467
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 64, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 64, 6, 6), strides=(2304, 36, 6, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.0008680555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   32   36
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  64   32   36
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   32   36    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   32   36    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    8   36    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8   36    4    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4   36    4    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    2   36    4    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   36    4    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   36    4    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    2    2    4    9    4    2    4    8
testing ast 468
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=39168, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 469
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 5, 7, 1, 1, 3, 3, 3), strides=(0, 189, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 5, 7, 1, 1, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 7, 3, 3, 3, 3, 3), strides=(375, 75, 0, 5, 1, 25, 5, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 7, 3, 3, 3, 3, 3), strides=(315, 63, 9, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   5    7    3    3    3    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3)]
   5    7    3    3    3    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    3    3    3    4    3    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    3    4    3    3    7    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    3    4    3    7    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    4    3    7    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    4    3    7    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 470
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 96, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ DIV 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━┳ ADD 
  7      ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃   ┗━┳ EXP2 
  9      ┃ ┃     ┗━┳ MUL 
 10      ┃ ┃       ┣━┳ ADD 
 11      ┃ ┃       ┃ ┣━┳ MUL 
 12      ┃ ┃       ┃ ┃ ┣━┳ MUL 
 13      ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 14      ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┗━┳ ADD 
 21      ┃   ┣━┳ MUL 
 22      ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23      ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 24      ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┗━┳ MUL 
 26        ┣━┳ MUL 
 27        ┃ ┣━┳ DIV 
 28        ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29        ┃ ┃ ┗━┳ ADD 
 30        ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31        ┃ ┃   ┗━┳ EXP2 
 32        ┃ ┃     ┗━┳ MUL 
 33        ┃ ┃       ┣━┳ ADD 
 34        ┃ ┃       ┃ ┣━┳ MUL 
 35        ┃ ┃       ┃ ┃ ┣━┳ MUL 
 36        ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 37        ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 38        ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 39        ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40        ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 41        ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42        ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43        ┃ ┗━┳ SUB 
 44        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45        ┃   ┗━┳ DIV 
 46        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47        ┃     ┗━┳ ADD 
 48        ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 49        ┃       ┗━┳ EXP2 
 50        ┃         ┗━┳ MUL 
 51        ┃           ┣━┳ ADD 
 52        ┃           ┃ ┣━┳ MUL 
 53        ┃           ┃ ┃ ┣━┳ MUL 
 54        ┃           ┃ ┃ ┃ ┣━┳ SUB 
 55        ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 56        ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 57        ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58        ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 59        ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 60        ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61        ┗━┳ MUL 
 62          ┣━┳ ADD 
 63          ┃ ┣━┳ MUL 
 64          ┃ ┃ ┣━┳ MUL 
 65          ┃ ┃ ┃ ┣━┳ SUB 
 66          ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 67          ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 68          ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 69          ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 70          ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 71          ┗━┳ ADD 
 72            ┣━┳ MUL 
 73            ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 74            ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 75            ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  96    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
  96   16    2  196
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  32   16    2  196    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    4    2  196    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16    4  196    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4    2  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    4   49    3    2    4    2    4
testing ast 471
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 272, 1, 14, 14, 1, 1, 1), strides=(0, 196, 0, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (1, 272, 1, 14, 14, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 68, 4, 14, 14), strides=(0, 196, 13328, 14, 1), offset=0, mask=None, contiguous=False), View(shape=(1, 272, 4, 16, 4, 16), strides=(0, 196, 0, 14, 0, 1), offset=-15, mask=((0, 1), (0, 272), (0, 4), (1, 15), (0, 4), (1, 15)), contiguous=False), View(shape=(1, 272, 1, 14, 14, 1, 3, 3), strides=(0, 4096, 0, 64, 1, 0, 1088, 17), offset=0, mask=None, contiguous=False))))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 272, 1, 14, 14, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 272, 1, 14, 14, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 272, 1, 14, 14, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 272, 1, 14, 14, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 272, 1, 14, 14, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 272   14   14    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 272   14    7    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 272   14    7    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 272   14    3    3    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 288   14    3    3    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
 288    2    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 288    2    3    3    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 472
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 4, 1, 4, 1, 1), strides=(0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 4, 1, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 15, 32, 1, 1, 1, 4, 1, 4, 1, 1), strides=(1232, 112, 4, 0, 0, 0, 0, 0, 1, 0, 0), offset=-232, mask=((0, 4), (2, 13), (2, 30), (0, 1), (0, 1), (0, 1), (0, 4), (0, 1), (0, 4), (0, 1), (0, 1)), contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 15, 32, 1, 1, 1, 4, 1, 4, 1, 1), strides=(1920, 32, 1, 0, 0, 0, 480, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    4   15   32
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4    4    4   15   32
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    4   15   32    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   15   32    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   15   32    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=4)]
   4   15    8    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  15    8    4    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=1, amt=8)]
   8   15    4    4    4    4
testing ast 473
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 512, 1, 1, 1), strides=(1572864, 262144, 512, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (6, 6, 512, 1, 512, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 512, 512, 1, 1), strides=(1572864, 262144, 0, 0, 512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 6, 512, 1, 512, 512, 1, 1), strides=(1572864, 262144, 512, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  36  512  512  512
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  36  512  512   32   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  12  512  512   32   16    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   6  512  512   32   16    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   6  512  512   32    3    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3  512  512    2   32    3    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3  256  512    2    2   32    3    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   3  128  512    2    2   32    3    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   3  128  512    2    2   32    3    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 474
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 512, 512, 1, 1, 1), strides=(0, 0, 262144, 512, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 256, 512, 512, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 256, 2, 256, 2), strides=(0, 65536, 256, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 256, 4, 514, 4, 514), strides=(0, 262144, 0, 512, 0, 1), offset=-513, mask=((0, 1), (0, 256), (0, 4), (1, 513), (0, 4), (1, 513)), contiguous=False), View(shape=(1, 1, 256, 512, 512, 256, 3, 3), strides=(0, 0, 0, 2056, 1, 4227136, 1058840, 515), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 512, 512, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 512, 512, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256  512  512  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 256  512   32   16  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 256  512   32    8  256    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  512   32    8  256    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128  128   32    8    4  256    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32  128   32    8    4  256    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8  128   32    8    4  256    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   8  128   32    4    4  256    3    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   8  128   32    2    4  256    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8  128   16    2    4    2  256    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
   8  128    2    4    2   16  256    3    3    2    2    4    4    2    2
testing ast 475
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 15, 32, 1, 1), strides=(1440, 0, 480, 0, 32, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 15, 32, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 4, 15, 32, 1, 1), strides=(0, 0, 1, 3, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 4, 15, 32, 1, 1), strides=(1920, 0, 0, 480, 32, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3  480    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4    3  240    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3  240    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   3   15   16    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3   15   16    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   3   15    4    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3   15    2    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   3   15    2    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    5    2    3    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3    5    3    2    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 476
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=24960, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 477
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 65), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 65)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65), strides=(1, 45), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  65   45
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=13)]
   5   13   45
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13   45    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
testing ast 478
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 1, 1, 1), strides=(0, 87808, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 4, 28, 56, 56, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 6, 1, 1), strides=(0, 18816, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 6, 1, 1), strides=(0, 168, 6, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 1, 1, 1), strides=(0, 28, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 1, 1, 1), strides=(0, 28, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 1, 1, 1), strides=(0, 28, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 1, 1, 1), strides=(0, 28, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 28, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4   28 3136    6
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   28 1568    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  28 1568    6    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  28  196    8    6    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
  28   28    8    6    2    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   7   28    8    6    2    4    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   7   28    4    2    6    2    4    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   7   28    2    2    2    6    2    4    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   7   32    2    2    2    6    2    4    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   7   16    2    2    2    2    6    2    4    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   7    2    2    2    2    2    8    6    2    4    7    4
testing ast 479
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=58368, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 480
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 28, 28, 1, 1, 1), strides=(0, 0, 784, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 256, 28, 28, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 28, 28, 256, 1, 1), strides=(0, 0, 0, 28, 1, 784, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 28, 28, 256, 1, 1), strides=(0, 0, 256, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 256  784  256
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256  784    8   32
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256  196    8   32    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  196    8   32    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128  196    8    8    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128  196    2    8    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64  196    2    2    8    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   98    2    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64   49    2    2    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64   49    2    2    2    8    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   49    2    2    2    2    8    4    2    4    4    2
testing ast 481
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 1, 11, 1, 11), strides=(139392, 121, 0, 11, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1152, 1, 11, 1, 11)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 5, 12, 5, 12), strides=(1411200, 1225, 5, 175, 1, 25), offset=0, mask=((0, 2), (0, 1152), (0, 5), (0, 7), (0, 5), (0, 7)), contiguous=False), View(shape=(2, 1152, 66, 66), strides=(4147200, 3600, 60, 1), offset=0, mask=((0, 2), (0, 1152), (0, 60), (0, 60)), contiguous=False), View(shape=(2, 1152, 6, 11, 6, 11), strides=(5018112, 4356, 726, 66, 11, 1), offset=0, mask=None, contiguous=True))))
   2 1152   11   11    6    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2  144   11   11    8    6    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2)]
   2  144   11   11    4    6    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 144   11   11    4    6    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
testing ast 482
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 64), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 64)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 64), strides=(200704, 3584, 64, 1), offset=0, mask=None, contiguous=True),)))
  64 6272
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64    4 1568
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    4 1568    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    4 1568    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8    4    8  196    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    4  196    4    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8  196    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4  196    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    2  196    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2  196    4    2    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2  196    4    2    8    4
testing ast 483
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 7, 26, 1, 1, 1, 1, 1, 4, 3, 3), strides=(6552, 936, 36, 0, 0, 0, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 7, 26, 1, 1, 1, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 7, 26, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 7, 26, 1, 1, 1, 4, 1, 4, 3, 3), strides=(728, 26, 1, 0, 0, 0, 182, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4  182    4    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   91    4    9    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  91    4    9    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  91    4    9    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  91    4    9    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
  13    4    9    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
  13    4    3    3    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 4 / 1044 (0.383%)
Max absolute difference: 0.9913143
Max relative difference: 1.
 x: array([0., 0., 0., ..., 0., 0., 0.], dtype=float32)
 y: array([0.991314, 0.985231, 0.860093, ..., 0.      , 0.      , 0.      ],
      dtype=float32)
  13    4    3    3    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  13    2    3    3    2    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
   2    3    3    2   13    2    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2    3    3   13    2    2    4    4    7
testing ast 484
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 1, 110, 1, 28), strides=(6160, 3080, 0, 28, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 2, 1, 110, 1, 28)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 5, 53, 2, 5, 8, 3), strides=(21200, 10600, 5, 200, 0, 1, 25, 0), offset=0, mask=((0, 32), (0, 2), (0, 5), (0, 53), (0, 1), (0, 5), (0, 8), (0, 1)), contiguous=False), View(shape=(32, 2, 5, 111, 5, 29), strides=(127200, 63600, 12720, 120, 24, 1), offset=0, mask=((0, 32), (0, 2), (0, 5), (0, 106), (0, 5), (0, 24)), contiguous=False), View(shape=(32, 2, 660, 168), strides=(160950, 80475, 145, 1), offset=0, mask=((0, 32), (0, 2), (0, 555), (0, 145)), contiguous=False), View(shape=(32, 2, 6, 110, 6, 28), strides=(221760, 110880, 18480, 168, 28, 1), offset=0, mask=None, contiguous=True))))
  32    2  110   28    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  32    2  110   14    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32  110   14    6    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   4  110   14    8    6    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4  110   14    8    6    2    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7)]
   4  110    2    8    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   4  110    2    4    2    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4  110    4    2    2    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   55    4    2    2    2    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   4   55    2    2    2    4    6    2    2    6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   4   64    2    2    2    4    6    2    2    6    7
testing ast 485
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 20)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(20, 1), offset=0, mask=None, contiguous=True),)))
  20   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   10    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    8
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.MAX, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 20), strides=(20, 1), offset=0, mask=None, contiguous=True),)))),), arg=(1, 20)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 1), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
COMPARE FAILED!!
testing ast 486
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(655360, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 640, 32, 32, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 960, 4, 34, 4, 34), strides=(983040, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 2), (0, 960), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(2, 1, 640, 32, 32, 960, 3, 3), strides=(17756160, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 960, 3, 3), strides=(0, 0, 8640, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  640   32   32  960    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   40   32   32   16  960    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
   2   40   32    8   16  960    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   40   32   16  960    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2   64   32   16  960    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   2   64   32   16  960    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2   64   32    8    2  960    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2   64   16    8    2    2  960    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   64    8    8    2    2  960    3    4    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   64    8    8    2    2    4  240    3    4    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2   64    8    4    2    2    2    4  240    3    4    8    3    2
testing ast 487
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 1, 1), strides=(32, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 32, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ ADD 
  5    ┃   ┃ ┣━┳ MUL 
  6    ┃   ┃ ┃ ┣━┳ MUL 
  7    ┃   ┃ ┃ ┃ ┣━┳ SUB 
  8    ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(401408, 12544, 0, 0, 112, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃   ┗━┳ DIV 
 14    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃     ┗━┳ ADD 
 16    ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃       ┗━┳ EXP2 
 18    ┃         ┗━┳ MUL 
 19    ┃           ┣━┳ ADD 
 20    ┃           ┃ ┣━┳ MUL 
 21    ┃           ┃ ┃ ┣━┳ MUL 
 22    ┃           ┃ ┃ ┃ ┣━┳ SUB 
 23    ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(401408, 12544, 0, 0, 112, 1), offset=0, mask=None, contiguous=True),)))
 24    ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25    ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26    ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27    ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28    ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 112, 112), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29    ┗━━ CONST ConstBuffer(val=7.971938775510203e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   32 12544
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   2   32   32  392
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16   32  392    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16   32  392    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16   32   98    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32   98    2    2    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   32   98    2    2    4    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   98    2    2    4    4    2    2
testing ast 488
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1), strides=(0, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 2, 1, 1, 1, 1, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 2, 1, 1, 4, 1, 4, 1, 1), strides=(0, 0, 0, 16, 0, 0, 4, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 2, 1, 1, 4, 1, 4, 1, 1), strides=(0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 2), (0, 1), (0, 1), (0, 1), (0, 1), (0, 4), (0, 1), (0, 1)), contiguous=False),)))
   2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    4
testing ast 489
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(655360, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (2, 1, 640, 32, 32, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1920, 1, 1), strides=(1966080, 0, 0, 32, 1, 1024, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1920, 1, 1), strides=(0, 0, 1920, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(655360, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  640 1024 1920
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  160 1024 1920    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 160 1024 1920    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 160  256    4 1920    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80  256    4    2 1920    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  80  256    4    2  480    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  80  256    2    2  480    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  80  128    2    2  480    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80  128    2    2    4  120    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40  128    2    2    4  120    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  40  128    2    2    4    4   30    4    2    4    2    2    2
testing ast 490
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 2, 3), strides=(0, 6, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.int, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 2, 3), strides=(0, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 2, 3), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━┳ SUM (1, 2, 2, 3)
  7      ┗━┳ MUL 
  8        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 2, 2, 3), strides=(4, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 2, 2, 3), strides=(3, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
   4    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    4    4
testing ast 491
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 64, 5, 5, 1, 1), strides=(1600, 25, 5, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 64, 5, 5, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 64, 5, 5, 2, 2), strides=(7744, 121, 22, 2, 11, 1), offset=0, mask=None, contiguous=False),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 64, 5, 5, 2, 2), strides=(1600, 25, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
8192    5    5    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 256    5    5   32    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 256    5   32    2    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   32    2    2    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 256    4    8    2    2    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    4    8    2    5    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 256    4    4    2    5    5    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    5    5    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
 256    4    2    2    5    5    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    2    2    2    2    5    5    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    2    2    2    2    5    5    2    2    2
testing ast 492
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1), strides=(8, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 2, 1, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 4, 1, 4, 3, 1), strides=(20, 8, 0, 0, 0, 0, 0, 0, 1, 4, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 4, 1, 4, 3, 1), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 16, 0), offset=0, mask=None, contiguous=False),)))
   2    2    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2    2    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    4    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
testing ast 493
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 3), strides=(0, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.int, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 3), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1, 2, 3), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━┳ SUM (1, 2, 3)
  7      ┗━┳ MUL 
  8        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 2, 3), strides=(2, 1, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 2, 3), strides=(1, 0, 4), offset=0, mask=None, contiguous=False),)))
   2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    3    4
testing ast 494
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 24, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(75264, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(75264, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  24    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32)]
  24   32    2   98
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8   32    2   98    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2   98    3    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    2   98    3    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   98    3    8    4    2
testing ast 495
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 96, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 96, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  96    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
  96   16    2  196
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  32   16    2  196    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    4    2  196    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16    4  196    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4    2  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    4   49    3    2    4    2    4
testing ast 496
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 240, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ MUL 
  9            ┃ ┣━┳ DIV 
 10            ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11            ┃ ┃ ┗━┳ ADD 
 12            ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃   ┗━┳ EXP2 
 14            ┃ ┃     ┗━┳ MUL 
 15            ┃ ┃       ┣━┳ ADD 
 16            ┃ ┃       ┃ ┣━┳ MUL 
 17            ┃ ┃       ┃ ┃ ┣━┳ MUL 
 18            ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 19            ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 20            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24            ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25            ┃ ┗━┳ ADD 
 26            ┃   ┣━┳ MUL 
 27            ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28            ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┗━┳ MUL 
 31              ┣━┳ MUL 
 32              ┃ ┣━┳ DIV 
 33              ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34              ┃ ┃ ┗━┳ ADD 
 35              ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36              ┃ ┃   ┗━┳ EXP2 
 37              ┃ ┃     ┗━┳ MUL 
 38              ┃ ┃       ┣━┳ ADD 
 39              ┃ ┃       ┃ ┣━┳ MUL 
 40              ┃ ┃       ┃ ┃ ┣━┳ MUL 
 41              ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 42              ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 43              ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45              ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47              ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48              ┃ ┗━┳ SUB 
 49              ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50              ┃   ┗━┳ DIV 
 51              ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52              ┃     ┗━┳ ADD 
 53              ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54              ┃       ┗━┳ EXP2 
 55              ┃         ┗━┳ MUL 
 56              ┃           ┣━┳ ADD 
 57              ┃           ┃ ┣━┳ MUL 
 58              ┃           ┃ ┃ ┣━┳ MUL 
 59              ┃           ┃ ┃ ┃ ┣━┳ SUB 
 60              ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 61              ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 62              ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63              ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64              ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65              ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66              ┗━┳ MUL 
 67                ┣━┳ ADD 
 68                ┃ ┣━┳ MUL 
 69                ┃ ┃ ┣━┳ MUL 
 70                ┃ ┃ ┃ ┣━┳ SUB 
 71                ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 72                ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 73                ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 74                ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 75                ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 76                ┗━┳ ADD 
 77                  ┣━┳ MUL 
 78                  ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 79                  ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(47040, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 80                  ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 14, 14), strides=(240, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 240    2  196
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 256    2  196
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2  196    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2  196    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2  196    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2  196    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2   49    4    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
testing ast 497
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1, 32, 1, 20, 20, 5, 5), strides=(320000, 0, 10000, 0, 500, 25, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 1, 32, 1, 20, 20, 5, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1, 32, 32, 20, 20, 5, 5), strides=(0, 0, 25, 800, 0, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1, 32, 32, 20, 20, 5, 5), strides=(12800, 0, 0, 400, 20, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   32  400   25   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
  32   32  400   25   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   32  400   25   16    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32  400   25   16    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8  400   25    4   16    2    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8  400   25    4   16    4    8    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   8  400   25    2   16    4    8    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8  200   25    2   16    4    8    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   8  224   25    2   16    4    8    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  224   25    2    2   16    4    8    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=2, amt=32)]
   4  224   32    2    2   16    4    8    2    2    2
testing ast 498
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ ADD 
  4        ┣━┳ MUL 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━┳ MUL 
  8          ┣━┳ EXP2 
  9          ┃ ┗━┳ MUL 
 10          ┃   ┣━┳ SUB 
 11          ┃   ┃ ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
 12          ┃   ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 13          ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 14          ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  32   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    4    8
testing ast 499
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 9, 1, 9), strides=(0, 81, 0, 9, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 32, 1, 9, 1, 9)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 3, 10, 3, 10), strides=(0, 441, 3, 63, 1, 9), offset=0, mask=((0, 1), (0, 32), (0, 3), (0, 7), (0, 3), (0, 7)), contiguous=False), View(shape=(1, 32, 36, 36), strides=(0, 900, 30, 1), offset=0, mask=((0, 1), (0, 32), (0, 30), (0, 30)), contiguous=False), View(shape=(1, 32, 4, 9, 4, 9), strides=(0, 1296, 324, 36, 9, 1), offset=0, mask=None, contiguous=True))))
  32    9    9    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    9    9    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    9    4    4    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   9    9    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    9    3    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    3    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    3    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    3    3    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    3    3    4    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=3, amt=3)]
testing ast 500
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 1, 58, 1, 58), strides=(215296, 3364, 0, 58, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 64, 1, 58, 1, 58)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 3, 28, 2, 3, 28, 2), strides=(451584, 7056, 3, 252, 0, 1, 9, 0), offset=0, mask=((0, 2), (0, 64), (0, 3), (0, 28), (0, 1), (0, 3), (0, 28), (0, 1)), contiguous=False), View(shape=(2, 64, 3, 59, 3, 59), strides=(1806336, 28224, 9408, 168, 56, 1), offset=0, mask=((0, 2), (0, 64), (0, 3), (0, 56), (0, 3), (0, 56)), contiguous=False), View(shape=(2, 64, 232, 232), strides=(2005056, 31329, 177, 1), offset=0, mask=((0, 2), (0, 64), (0, 177), (0, 177)), contiguous=False), View(shape=(2, 64, 4, 58, 4, 58), strides=(3444736, 53824, 13456, 232, 58, 1), offset=0, mask=None, contiguous=True))))
   2   64   58   58    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   64   58   58    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   64   58   29    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  64   58   29    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64   29   29    2    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   29   29    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  32   29   29    2    2    4    2    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   29   29    2    2    4    2    2    4    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  29   29    2    2   16    4    2    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  29   29    2   16    4    2    2    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   29    2   16    4    2    2    4    2    2
testing ast 501
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 2, 1), strides=(2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 2, 3), strides=(0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 2, 3), strides=(3, 0, 1), offset=0, mask=None, contiguous=False),)))
   2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    3
testing ast 502
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 640, 32, 32, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 640, 4, 34, 4, 34), strides=(0, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 1), (0, 640), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(1, 1, 640, 32, 32, 640, 3, 3), strides=(0, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 640, 3, 3), strides=(0, 0, 5760, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 640   32   32  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 640   32    2   16  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 640   32    2    8  640    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 640   32    8  640    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  20   32    8   32  640    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  20   32    8    8  640    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  20    8    8    8  640    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  20    8    8    2  640    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  20    8    4    2    2  640    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  20    8    4    2    2    8   80    3    3    2    2    4    4    4
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 640, 4, 34, 4, 34), strides=(0, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 1), (0, 640), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(1, 1, 640, 32, 32, 640, 3, 3), strides=(0, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 640, 3, 3), strides=(0, 0, 5760, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 640, 32, 32, 1, 1, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
COMPILE FAILED!!
testing ast 503
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 13, 3, 3, 3), strides=(924, 0, 0, 56, 2, 308, 28, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 13, 3, 3, 3), strides=(260, 0, 65, 13, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3    3    3    4    5   13
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   4    3    3    3    4    5   13
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    4    5   13    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    4    5   13    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   3    3    4    5    3    4   13
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    4    5    3    4   13
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    4    5    3    4   13
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 504
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 2, 5), strides=(0, 0, 10, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 2, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 2, 6, 13), strides=(22, 11, 0, 1), offset=-1, mask=((0, 6), (0, 2), (0, 6), (1, 12)), contiguous=False), View(shape=(6, 1, 6, 9, 2, 5), strides=(156, 0, 0, 1, 78, 14), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(6, 1, 6, 9, 2, 5), strides=(54, 0, 9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    2    5    6    9
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   6    5    6    9    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    6    9    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5    6    2    6    9
testing ast 505
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 5, 1, 1, 1, 1, 3, 4), strides=(720, 240, 60, 12, 0, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 3, 4, 5, 1, 1, 1, 1, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 5, 1, 1, 5, 1, 3, 4), strides=(25, 0, 0, 5, 0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 5, 1, 1, 5, 1, 3, 4), strides=(720, 240, 60, 0, 0, 0, 12, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
   2   12    5   12    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   12    5    6    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  12    5    6    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
  12    5    2    3    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   4    5    2    3    5    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   4    5    2    5    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    5    2    5    2    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    5    5    2    2    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    2    5    2    2    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 506
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (1, 1, 112, 14, 14, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 480, 1, 1), strides=(0, 0, 0, 14, 1, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 480, 1, 1), strides=(0, 0, 1, 0, 0, 112, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SQRT 
 12    ┃   ┗━┳ DIV 
 13    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━┳ ADD 
 15    ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 112, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 112  196  480
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 112   49  480    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  56   49  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  56   64  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  14   64    4  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   7   64    4    2  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   7   32    4    2    2  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   7   16    4    2    2  480    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   7   16    4    2  480    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   7   16    4    2    8   60    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   7   16    2    8   60    4    2    2    2    4
testing ast 507
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 8, 16, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━┳ EXP2 
  5        ┃ ┗━┳ MUL 
  6        ┃   ┣━┳ SUB 
  7        ┃   ┃ ┣━┳ ADD 
  8        ┃   ┃ ┃ ┣━┳ MUL 
  9        ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
 10        ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 16, 1), offset=0, mask=None, contiguous=False),)))
 12        ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┗━┳ ADD 
 15          ┣━┳ DIV 
 16          ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
 17          ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 18          ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256    4   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   16    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    8    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   16    2    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    2    2    4    4    4    2    2
testing ast 508
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 1, 13, 1, 13), strides=(676, 0, 0, 169, 0, 13, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 4, 1, 13, 1, 13)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 3, 14, 3, 14), strides=(4356, 0, 0, 9, 3, 396, 1, 36), offset=0, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 3), (0, 11), (0, 3), (0, 11)), contiguous=False), View(shape=(2, 1, 1, 4, 52, 52), strides=(7056, 0, 0, 1764, 42, 1), offset=0, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 42), (0, 42)), contiguous=False), View(shape=(2, 1, 1, 4, 4, 13, 4, 13), strides=(10816, 0, 0, 2704, 676, 52, 13, 1), offset=0, mask=None, contiguous=True))))
   2    4   13   13    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=13)]
   2    4   13   13    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=13), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   13   13    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=13), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13   13    4    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=13), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=13)]
testing ast 509
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 37, 9, 1, 1), strides=(666, 333, 9, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (32, 2, 37, 9, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 37, 9, 3, 3), strides=(6216, 3108, 84, 3, 28, 1), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.1111111111111111, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 37, 9, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
2368    9    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  74    9   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  74    9   16    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  37    9   16    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  37    9   16    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  37    9   16    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  37    9    8    2    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  37    3    8    2    2    2    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  37    3    4    2    2    2    3    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    3    4    2    2    2    3    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  64    3    2    2    2    2    2    3    3    3    2
testing ast 510
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 512, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━┳ ADD 
  8            ┣━┳ ADD 
  9            ┃ ┣━┳ ADD 
 10            ┃ ┃ ┣━┳ MUL 
 11            ┃ ┃ ┃ ┣━┳ MUL 
 12            ┃ ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13            ┃ ┃ ┃ ┃ ┗━┳ ADD 
 14            ┃ ┃ ┃ ┃   ┣━┳ MUL 
 15            ┃ ┃ ┃ ┃   ┃ ┣━┳ MUL 
 16            ┃ ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
 17            ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 18            ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┃ ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20            ┃ ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21            ┃ ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22            ┃ ┃ ┃ ┗━┳ MUL 
 23            ┃ ┃ ┃   ┣━┳ MUL 
 24            ┃ ┃ ┃   ┃ ┣━┳ ADD 
 25            ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
 26            ┃ ┃ ┃   ┃ ┃ ┃ ┣━┳ MUL 
 27            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 28            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 29            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30            ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31            ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃   ┗━┳ MUL 
 35            ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┃     ┗━┳ MUL 
 37            ┃ ┃ ┃       ┣━┳ MUL 
 38            ┃ ┃ ┃       ┃ ┣━┳ DIV 
 39            ┃ ┃ ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃ ┃       ┃ ┃ ┗━┳ ADD 
 41            ┃ ┃ ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃ ┃       ┃ ┃   ┗━┳ EXP2 
 43            ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
 44            ┃ ┃ ┃       ┃ ┃       ┣━┳ MUL 
 45            ┃ ┃ ┃       ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46            ┃ ┃ ┃       ┃ ┃       ┃ ┗━┳ MUL 
 47            ┃ ┃ ┃       ┃ ┃       ┃   ┣━┳ MUL 
 48            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┣━┳ ADD 
 49            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
 50            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
 51            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 52            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 53            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 54            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 56            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 57            ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58            ┃ ┃ ┃       ┃ ┃       ┃   ┗━┳ ADD 
 59            ┃ ┃ ┃       ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 60            ┃ ┃ ┃       ┃ ┃       ┃     ┗━┳ MUL 
 61            ┃ ┃ ┃       ┃ ┃       ┃       ┣━┳ MUL 
 62            ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 63            ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┗━┳ ADD 
 64            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┣━┳ MUL 
 65            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
 66            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
 67            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 68            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71            ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 72            ┃ ┃ ┃       ┃ ┃       ┃       ┗━┳ ADD 
 73            ┃ ┃ ┃       ┃ ┃       ┃         ┣━┳ MUL 
 74            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┣━┳ MUL 
 75            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
 76            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 77            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 78            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79            ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80            ┃ ┃ ┃       ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 81            ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 82            ┃ ┃ ┃       ┃ ┗━┳ SUB 
 83            ┃ ┃ ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 84            ┃ ┃ ┃       ┃   ┗━┳ DIV 
 85            ┃ ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 86            ┃ ┃ ┃       ┃     ┗━┳ ADD 
 87            ┃ ┃ ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 88            ┃ ┃ ┃       ┃       ┗━┳ EXP2 
 89            ┃ ┃ ┃       ┃         ┗━┳ MUL 
 90            ┃ ┃ ┃       ┃           ┣━┳ MUL 
 91            ┃ ┃ ┃       ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 92            ┃ ┃ ┃       ┃           ┃ ┗━┳ MUL 
 93            ┃ ┃ ┃       ┃           ┃   ┣━┳ MUL 
 94            ┃ ┃ ┃       ┃           ┃   ┃ ┣━┳ ADD 
 95            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┣━┳ MUL 
 96            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
 97            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 98            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 99            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
100            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
101            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
102            ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
103            ┃ ┃ ┃       ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
104            ┃ ┃ ┃       ┃           ┃   ┗━┳ ADD 
105            ┃ ┃ ┃       ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
106            ┃ ┃ ┃       ┃           ┃     ┗━┳ MUL 
107            ┃ ┃ ┃       ┃           ┃       ┣━┳ MUL 
108            ┃ ┃ ┃       ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
109            ┃ ┃ ┃       ┃           ┃       ┃ ┗━┳ ADD 
110            ┃ ┃ ┃       ┃           ┃       ┃   ┣━┳ MUL 
111            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┣━┳ MUL 
112            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
113            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
114            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
115            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
116            ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
117            ┃ ┃ ┃       ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
118            ┃ ┃ ┃       ┃           ┃       ┗━┳ ADD 
119            ┃ ┃ ┃       ┃           ┃         ┣━┳ MUL 
120            ┃ ┃ ┃       ┃           ┃         ┃ ┣━┳ MUL 
121            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┣━┳ SUB 
122            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
123            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
124            ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
125            ┃ ┃ ┃       ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
126            ┃ ┃ ┃       ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
127            ┃ ┃ ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
128            ┃ ┃ ┃       ┗━┳ MUL 
129            ┃ ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
130            ┃ ┃ ┃         ┗━┳ MUL 
131            ┃ ┃ ┃           ┣━┳ MUL 
132            ┃ ┃ ┃           ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
133            ┃ ┃ ┃           ┃ ┗━┳ ADD 
134            ┃ ┃ ┃           ┃   ┣━┳ MUL 
135            ┃ ┃ ┃           ┃   ┃ ┣━┳ MUL 
136            ┃ ┃ ┃           ┃   ┃ ┃ ┣━┳ SUB 
137            ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
138            ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
139            ┃ ┃ ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
140            ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
141            ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
142            ┃ ┃ ┃           ┗━┳ ADD 
143            ┃ ┃ ┃             ┣━┳ MUL 
144            ┃ ┃ ┃             ┃ ┣━┳ DIV 
145            ┃ ┃ ┃             ┃ ┃ ┣━┳ CAST (dtypes.float, False)
146            ┃ ┃ ┃             ┃ ┃ ┃ ┗━┳ CMPEQ 
147            ┃ ┃ ┃             ┃ ┃ ┃   ┣━┳ ADD 
148            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┣━┳ MUL 
149            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
150            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
151            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
152            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
153            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
154            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
155            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
156            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
157            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
158            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
159            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
160            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
161            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
162            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
163            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
164            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
165            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
166            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
167            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
168            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
169            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
170            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
171            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
172            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
173            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
174            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
175            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
176            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
177            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
178            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
179            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
180            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
181            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
182            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
183            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
184            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
185            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
186            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
187            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
188            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
189            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
190            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
191            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
192            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
193            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
194            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
195            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
196            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
197            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
198            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
199            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
200            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
201            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
202            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
203            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
204            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
205            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
206            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
207            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
208            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
209            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
210            ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┗━┳ MUL 
211            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┣━┳ MUL 
212            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
213            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃ ┗━┳ ADD 
214            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┣━┳ MUL 
215            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
216            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
217            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
218            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
219            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
220            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
221            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
222            ┃ ┃ ┃             ┃ ┃ ┃   ┃   ┗━┳ ADD 
223            ┃ ┃ ┃             ┃ ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
224            ┃ ┃ ┃             ┃ ┃ ┃   ┃     ┗━┳ SUB 
225            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┣━┳ MUL 
226            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
227            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃ ┗━┳ DIV 
228            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
229            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃   ┗━┳ ADD 
230            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
231            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃     ┗━┳ EXP2 
232            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃       ┗━┳ MUL 
233            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┣━┳ MUL 
234            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
235            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
236            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
237            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
238            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
239            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
240            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
241            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
242            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
243            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
244            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
245            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
246            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
247            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
248            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
249            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
250            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
251            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
252            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
253            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
254            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
255            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
256            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
257            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
258            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
259            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
260            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
261            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
262            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
263            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
264            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
265            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
266            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
267            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
268            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
269            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
270            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
271            ┃ ┃ ┃             ┃ ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
272            ┃ ┃ ┃             ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
273            ┃ ┃ ┃             ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
274            ┃ ┃ ┃             ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
275            ┃ ┃ ┃             ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
276            ┃ ┃ ┗━┳ MUL 
277            ┃ ┃   ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
278            ┃ ┃   ┗━┳ MUL 
279            ┃ ┃     ┣━┳ ADD 
280            ┃ ┃     ┃ ┣━┳ MUL 
281            ┃ ┃     ┃ ┃ ┣━┳ MUL 
282            ┃ ┃     ┃ ┃ ┃ ┣━┳ SUB 
283            ┃ ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
284            ┃ ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
285            ┃ ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
286            ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
287            ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
288            ┃ ┃     ┗━┳ MUL 
289            ┃ ┃       ┣━┳ MUL 
290            ┃ ┃       ┃ ┣━┳ ADD 
291            ┃ ┃       ┃ ┃ ┣━┳ MUL 
292            ┃ ┃       ┃ ┃ ┃ ┣━┳ MUL 
293            ┃ ┃       ┃ ┃ ┃ ┃ ┣━┳ SUB 
294            ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
295            ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
296            ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
297            ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
298            ┃ ┃       ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
299            ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
300            ┃ ┃       ┗━┳ MUL 
301            ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
302            ┃ ┃         ┗━┳ MUL 
303            ┃ ┃           ┣━┳ MUL 
304            ┃ ┃           ┃ ┣━┳ DIV 
305            ┃ ┃           ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
306            ┃ ┃           ┃ ┃ ┗━┳ ADD 
307            ┃ ┃           ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
308            ┃ ┃           ┃ ┃   ┗━┳ EXP2 
309            ┃ ┃           ┃ ┃     ┗━┳ MUL 
310            ┃ ┃           ┃ ┃       ┣━┳ MUL 
311            ┃ ┃           ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
312            ┃ ┃           ┃ ┃       ┃ ┗━┳ MUL 
313            ┃ ┃           ┃ ┃       ┃   ┣━┳ MUL 
314            ┃ ┃           ┃ ┃       ┃   ┃ ┣━┳ ADD 
315            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
316            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
317            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
318            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
319            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
320            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
321            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
322            ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
323            ┃ ┃           ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
324            ┃ ┃           ┃ ┃       ┃   ┗━┳ ADD 
325            ┃ ┃           ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
326            ┃ ┃           ┃ ┃       ┃     ┗━┳ MUL 
327            ┃ ┃           ┃ ┃       ┃       ┣━┳ MUL 
328            ┃ ┃           ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
329            ┃ ┃           ┃ ┃       ┃       ┃ ┗━┳ ADD 
330            ┃ ┃           ┃ ┃       ┃       ┃   ┣━┳ MUL 
331            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
332            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
333            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
334            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
335            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
336            ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
337            ┃ ┃           ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
338            ┃ ┃           ┃ ┃       ┃       ┗━┳ ADD 
339            ┃ ┃           ┃ ┃       ┃         ┣━┳ MUL 
340            ┃ ┃           ┃ ┃       ┃         ┃ ┣━┳ MUL 
341            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
342            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
343            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
344            ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
345            ┃ ┃           ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
346            ┃ ┃           ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
347            ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
348            ┃ ┃           ┃ ┗━┳ SUB 
349            ┃ ┃           ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
350            ┃ ┃           ┃   ┗━┳ DIV 
351            ┃ ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
352            ┃ ┃           ┃     ┗━┳ ADD 
353            ┃ ┃           ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
354            ┃ ┃           ┃       ┗━┳ EXP2 
355            ┃ ┃           ┃         ┗━┳ MUL 
356            ┃ ┃           ┃           ┣━┳ MUL 
357            ┃ ┃           ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
358            ┃ ┃           ┃           ┃ ┗━┳ MUL 
359            ┃ ┃           ┃           ┃   ┣━┳ MUL 
360            ┃ ┃           ┃           ┃   ┃ ┣━┳ ADD 
361            ┃ ┃           ┃           ┃   ┃ ┃ ┣━┳ MUL 
362            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
363            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
364            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
365            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
366            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
367            ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
368            ┃ ┃           ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
369            ┃ ┃           ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
370            ┃ ┃           ┃           ┃   ┗━┳ ADD 
371            ┃ ┃           ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
372            ┃ ┃           ┃           ┃     ┗━┳ MUL 
373            ┃ ┃           ┃           ┃       ┣━┳ MUL 
374            ┃ ┃           ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
375            ┃ ┃           ┃           ┃       ┃ ┗━┳ ADD 
376            ┃ ┃           ┃           ┃       ┃   ┣━┳ MUL 
377            ┃ ┃           ┃           ┃       ┃   ┃ ┣━┳ MUL 
378            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
379            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
380            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
381            ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
382            ┃ ┃           ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
383            ┃ ┃           ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
384            ┃ ┃           ┃           ┃       ┗━┳ ADD 
385            ┃ ┃           ┃           ┃         ┣━┳ MUL 
386            ┃ ┃           ┃           ┃         ┃ ┣━┳ MUL 
387            ┃ ┃           ┃           ┃         ┃ ┃ ┣━┳ SUB 
388            ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
389            ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
390            ┃ ┃           ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
391            ┃ ┃           ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
392            ┃ ┃           ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
393            ┃ ┃           ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
394            ┃ ┃           ┗━┳ MUL 
395            ┃ ┃             ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
396            ┃ ┃             ┗━┳ MUL 
397            ┃ ┃               ┣━┳ MUL 
398            ┃ ┃               ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
399            ┃ ┃               ┃ ┗━┳ ADD 
400            ┃ ┃               ┃   ┣━┳ MUL 
401            ┃ ┃               ┃   ┃ ┣━┳ MUL 
402            ┃ ┃               ┃   ┃ ┃ ┣━┳ SUB 
403            ┃ ┃               ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
404            ┃ ┃               ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
405            ┃ ┃               ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
406            ┃ ┃               ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
407            ┃ ┃               ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
408            ┃ ┃               ┗━┳ ADD 
409            ┃ ┃                 ┣━┳ MUL 
410            ┃ ┃                 ┃ ┣━┳ DIV 
411            ┃ ┃                 ┃ ┃ ┣━┳ CAST (dtypes.float, False)
412            ┃ ┃                 ┃ ┃ ┃ ┗━┳ CMPEQ 
413            ┃ ┃                 ┃ ┃ ┃   ┣━┳ ADD 
414            ┃ ┃                 ┃ ┃ ┃   ┃ ┣━┳ MUL 
415            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
416            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
417            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
418            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
419            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
420            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
421            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
422            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
423            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
424            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
425            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
426            ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
427            ┃ ┃                 ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
428            ┃ ┃                 ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
429            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
430            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
431            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
432            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
433            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
434            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
435            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
436            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
437            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
438            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
439            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
440            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
441            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
442            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
443            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
444            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
445            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
446            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
447            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
448            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
449            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
450            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
451            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
452            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
453            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
454            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
455            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
456            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
457            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
458            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
459            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
460            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
461            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
462            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
463            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
464            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
465            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
466            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
467            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
468            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
469            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
470            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
471            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
472            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
473            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
474            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
475            ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
476            ┃ ┃                 ┃ ┃ ┃   ┃ ┗━┳ MUL 
477            ┃ ┃                 ┃ ┃ ┃   ┃   ┣━┳ MUL 
478            ┃ ┃                 ┃ ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
479            ┃ ┃                 ┃ ┃ ┃   ┃   ┃ ┗━┳ ADD 
480            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┣━┳ MUL 
481            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
482            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
483            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
484            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
485            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
486            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
487            ┃ ┃                 ┃ ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
488            ┃ ┃                 ┃ ┃ ┃   ┃   ┗━┳ ADD 
489            ┃ ┃                 ┃ ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
490            ┃ ┃                 ┃ ┃ ┃   ┃     ┗━┳ SUB 
491            ┃ ┃                 ┃ ┃ ┃   ┃       ┣━┳ MUL 
492            ┃ ┃                 ┃ ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
493            ┃ ┃                 ┃ ┃ ┃   ┃       ┃ ┗━┳ DIV 
494            ┃ ┃                 ┃ ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
495            ┃ ┃                 ┃ ┃ ┃   ┃       ┃   ┗━┳ ADD 
496            ┃ ┃                 ┃ ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
497            ┃ ┃                 ┃ ┃ ┃   ┃       ┃     ┗━┳ EXP2 
498            ┃ ┃                 ┃ ┃ ┃   ┃       ┃       ┗━┳ MUL 
499            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┣━┳ MUL 
500            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
501            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
502            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
503            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
504            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
505            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
506            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
507            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
508            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
509            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
510            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
511            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
512            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
513            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
514            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
515            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
516            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
517            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
518            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
519            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
520            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
521            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
522            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
523            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
524            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
525            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
526            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
527            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
528            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
529            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
530            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
531            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
532            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
533            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
534            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
535            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
536            ┃ ┃                 ┃ ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
537            ┃ ┃                 ┃ ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
538            ┃ ┃                 ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
539            ┃ ┃                 ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
540            ┃ ┃                 ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
541            ┃ ┃                 ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
542            ┃ ┗━┳ MUL 
543            ┃   ┣━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
544            ┃   ┗━┳ MUL 
545            ┃     ┣━┳ ADD 
546            ┃     ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
547            ┃     ┃ ┗━┳ MUL 
548            ┃     ┃   ┣━┳ MUL 
549            ┃     ┃   ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
550            ┃     ┃   ┃ ┗━┳ ADD 
551            ┃     ┃   ┃   ┣━┳ MUL 
552            ┃     ┃   ┃   ┃ ┣━┳ MUL 
553            ┃     ┃   ┃   ┃ ┃ ┣━┳ SUB 
554            ┃     ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
555            ┃     ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
556            ┃     ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
557            ┃     ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
558            ┃     ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
559            ┃     ┃   ┗━┳ ADD 
560            ┃     ┃     ┣━┳ MUL 
561            ┃     ┃     ┃ ┣━┳ MUL 
562            ┃     ┃     ┃ ┃ ┣━┳ SUB 
563            ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
564            ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
565            ┃     ┃     ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
566            ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
567            ┃     ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
568            ┃     ┗━┳ MUL 
569            ┃       ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
570            ┃       ┗━┳ MUL 
571            ┃         ┣━┳ MUL 
572            ┃         ┃ ┣━┳ DIV 
573            ┃         ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
574            ┃         ┃ ┃ ┗━┳ ADD 
575            ┃         ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
576            ┃         ┃ ┃   ┗━┳ EXP2 
577            ┃         ┃ ┃     ┗━┳ MUL 
578            ┃         ┃ ┃       ┣━┳ MUL 
579            ┃         ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
580            ┃         ┃ ┃       ┃ ┗━┳ MUL 
581            ┃         ┃ ┃       ┃   ┣━┳ MUL 
582            ┃         ┃ ┃       ┃   ┃ ┣━┳ ADD 
583            ┃         ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
584            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
585            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
586            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
587            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
588            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
589            ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
590            ┃         ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
591            ┃         ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
592            ┃         ┃ ┃       ┃   ┗━┳ ADD 
593            ┃         ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
594            ┃         ┃ ┃       ┃     ┗━┳ MUL 
595            ┃         ┃ ┃       ┃       ┣━┳ MUL 
596            ┃         ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
597            ┃         ┃ ┃       ┃       ┃ ┗━┳ ADD 
598            ┃         ┃ ┃       ┃       ┃   ┣━┳ MUL 
599            ┃         ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
600            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
601            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
602            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
603            ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
604            ┃         ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
605            ┃         ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
606            ┃         ┃ ┃       ┃       ┗━┳ ADD 
607            ┃         ┃ ┃       ┃         ┣━┳ MUL 
608            ┃         ┃ ┃       ┃         ┃ ┣━┳ MUL 
609            ┃         ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
610            ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
611            ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
612            ┃         ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
613            ┃         ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
614            ┃         ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
615            ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
616            ┃         ┃ ┗━┳ SUB 
617            ┃         ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
618            ┃         ┃   ┗━┳ DIV 
619            ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
620            ┃         ┃     ┗━┳ ADD 
621            ┃         ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
622            ┃         ┃       ┗━┳ EXP2 
623            ┃         ┃         ┗━┳ MUL 
624            ┃         ┃           ┣━┳ MUL 
625            ┃         ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
626            ┃         ┃           ┃ ┗━┳ MUL 
627            ┃         ┃           ┃   ┣━┳ MUL 
628            ┃         ┃           ┃   ┃ ┣━┳ ADD 
629            ┃         ┃           ┃   ┃ ┃ ┣━┳ MUL 
630            ┃         ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
631            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
632            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
633            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
634            ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
635            ┃         ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
636            ┃         ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
637            ┃         ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
638            ┃         ┃           ┃   ┗━┳ ADD 
639            ┃         ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
640            ┃         ┃           ┃     ┗━┳ MUL 
641            ┃         ┃           ┃       ┣━┳ MUL 
642            ┃         ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
643            ┃         ┃           ┃       ┃ ┗━┳ ADD 
644            ┃         ┃           ┃       ┃   ┣━┳ MUL 
645            ┃         ┃           ┃       ┃   ┃ ┣━┳ MUL 
646            ┃         ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
647            ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
648            ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
649            ┃         ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
650            ┃         ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
651            ┃         ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
652            ┃         ┃           ┃       ┗━┳ ADD 
653            ┃         ┃           ┃         ┣━┳ MUL 
654            ┃         ┃           ┃         ┃ ┣━┳ MUL 
655            ┃         ┃           ┃         ┃ ┃ ┣━┳ SUB 
656            ┃         ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
657            ┃         ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
658            ┃         ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
659            ┃         ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
660            ┃         ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
661            ┃         ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
662            ┃         ┗━┳ MUL 
663            ┃           ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
664            ┃           ┗━┳ MUL 
665            ┃             ┣━┳ MUL 
666            ┃             ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
667            ┃             ┃ ┗━┳ ADD 
668            ┃             ┃   ┣━┳ MUL 
669            ┃             ┃   ┃ ┣━┳ MUL 
670            ┃             ┃   ┃ ┃ ┣━┳ SUB 
671            ┃             ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
672            ┃             ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
673            ┃             ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
674            ┃             ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
675            ┃             ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
676            ┃             ┗━┳ ADD 
677            ┃               ┣━┳ MUL 
678            ┃               ┃ ┣━┳ DIV 
679            ┃               ┃ ┃ ┣━┳ CAST (dtypes.float, False)
680            ┃               ┃ ┃ ┃ ┗━┳ CMPEQ 
681            ┃               ┃ ┃ ┃   ┣━┳ ADD 
682            ┃               ┃ ┃ ┃   ┃ ┣━┳ MUL 
683            ┃               ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
684            ┃               ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
685            ┃               ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
686            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
687            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
688            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
689            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
690            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
691            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
692            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
693            ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
694            ┃               ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
695            ┃               ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
696            ┃               ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
697            ┃               ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
698            ┃               ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
699            ┃               ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
700            ┃               ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
701            ┃               ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
702            ┃               ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
703            ┃               ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
704            ┃               ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
705            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
706            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
707            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
708            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
709            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
710            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
711            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
712            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
713            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
714            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
715            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
716            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
717            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
718            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
719            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
720            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
721            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
722            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
723            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
724            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
725            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
726            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
727            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
728            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
729            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
730            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
731            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
732            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
733            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
734            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
735            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
736            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
737            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
738            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
739            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
740            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
741            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
742            ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
743            ┃               ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
744            ┃               ┃ ┃ ┃   ┃ ┗━┳ MUL 
745            ┃               ┃ ┃ ┃   ┃   ┣━┳ MUL 
746            ┃               ┃ ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
747            ┃               ┃ ┃ ┃   ┃   ┃ ┗━┳ ADD 
748            ┃               ┃ ┃ ┃   ┃   ┃   ┣━┳ MUL 
749            ┃               ┃ ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
750            ┃               ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
751            ┃               ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
752            ┃               ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
753            ┃               ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
754            ┃               ┃ ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
755            ┃               ┃ ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
756            ┃               ┃ ┃ ┃   ┃   ┗━┳ ADD 
757            ┃               ┃ ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
758            ┃               ┃ ┃ ┃   ┃     ┗━┳ SUB 
759            ┃               ┃ ┃ ┃   ┃       ┣━┳ MUL 
760            ┃               ┃ ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
761            ┃               ┃ ┃ ┃   ┃       ┃ ┗━┳ DIV 
762            ┃               ┃ ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
763            ┃               ┃ ┃ ┃   ┃       ┃   ┗━┳ ADD 
764            ┃               ┃ ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
765            ┃               ┃ ┃ ┃   ┃       ┃     ┗━┳ EXP2 
766            ┃               ┃ ┃ ┃   ┃       ┃       ┗━┳ MUL 
767            ┃               ┃ ┃ ┃   ┃       ┃         ┣━┳ MUL 
768            ┃               ┃ ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
769            ┃               ┃ ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
770            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
771            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
772            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
773            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
774            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
775            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
776            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
777            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
778            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
779            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
780            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
781            ┃               ┃ ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
782            ┃               ┃ ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
783            ┃               ┃ ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
784            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
785            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
786            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
787            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
788            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
789            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
790            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
791            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
792            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
793            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
794            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
795            ┃               ┃ ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
796            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
797            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
798            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
799            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
800            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
801            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
802            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
803            ┃               ┃ ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
804            ┃               ┃ ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
805            ┃               ┃ ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
806            ┃               ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
807            ┃               ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
808            ┃               ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
809            ┃               ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
810            ┗━┳ MUL 
811              ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
812              ┗━┳ MUL 
813                ┣━┳ ADD 
814                ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
815                ┃ ┗━┳ SUB 
816                ┃   ┣━┳ MUL 
817                ┃   ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
818                ┃   ┃ ┗━┳ DIV 
819                ┃   ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
820                ┃   ┃   ┗━┳ ADD 
821                ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
822                ┃   ┃     ┗━┳ EXP2 
823                ┃   ┃       ┗━┳ MUL 
824                ┃   ┃         ┣━┳ MUL 
825                ┃   ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
826                ┃   ┃         ┃ ┗━┳ MUL 
827                ┃   ┃         ┃   ┣━┳ MUL 
828                ┃   ┃         ┃   ┃ ┣━┳ ADD 
829                ┃   ┃         ┃   ┃ ┃ ┣━┳ MUL 
830                ┃   ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
831                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
832                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
833                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
834                ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
835                ┃   ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
836                ┃   ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
837                ┃   ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
838                ┃   ┃         ┃   ┗━┳ ADD 
839                ┃   ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
840                ┃   ┃         ┃     ┗━┳ MUL 
841                ┃   ┃         ┃       ┣━┳ MUL 
842                ┃   ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
843                ┃   ┃         ┃       ┃ ┗━┳ ADD 
844                ┃   ┃         ┃       ┃   ┣━┳ MUL 
845                ┃   ┃         ┃       ┃   ┃ ┣━┳ MUL 
846                ┃   ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
847                ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
848                ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
849                ┃   ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
850                ┃   ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
851                ┃   ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
852                ┃   ┃         ┃       ┗━┳ ADD 
853                ┃   ┃         ┃         ┣━┳ MUL 
854                ┃   ┃         ┃         ┃ ┣━┳ MUL 
855                ┃   ┃         ┃         ┃ ┃ ┣━┳ SUB 
856                ┃   ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
857                ┃   ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
858                ┃   ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
859                ┃   ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
860                ┃   ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
861                ┃   ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
862                ┃   ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
863                ┗━┳ ADD 
864                  ┣━┳ MUL 
865                  ┃ ┣━┳ DIV 
866                  ┃ ┃ ┣━┳ CAST (dtypes.float, False)
867                  ┃ ┃ ┃ ┗━┳ CMPEQ 
868                  ┃ ┃ ┃   ┣━┳ ADD 
869                  ┃ ┃ ┃   ┃ ┣━┳ MUL 
870                  ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
871                  ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
872                  ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
873                  ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
874                  ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
875                  ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
876                  ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
877                  ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
878                  ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
879                  ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
880                  ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
881                  ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
882                  ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
883                  ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
884                  ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
885                  ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
886                  ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
887                  ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
888                  ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
889                  ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
890                  ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
891                  ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
892                  ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
893                  ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
894                  ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
895                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
896                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
897                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
898                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
899                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
900                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
901                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
902                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
903                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
904                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
905                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
906                  ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
907                  ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
908                  ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
909                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
910                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
911                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
912                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
913                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
914                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
915                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
916                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
917                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
918                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
919                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
920                  ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
921                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
922                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
923                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
924                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
925                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
926                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
927                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
928                  ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
929                  ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
930                  ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
931                  ┃ ┃ ┃   ┃ ┗━┳ MUL 
932                  ┃ ┃ ┃   ┃   ┣━┳ MUL 
933                  ┃ ┃ ┃   ┃   ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
934                  ┃ ┃ ┃   ┃   ┃ ┗━┳ ADD 
935                  ┃ ┃ ┃   ┃   ┃   ┣━┳ MUL 
936                  ┃ ┃ ┃   ┃   ┃   ┃ ┣━┳ MUL 
937                  ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┣━┳ SUB 
938                  ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
939                  ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
940                  ┃ ┃ ┃   ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
941                  ┃ ┃ ┃   ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
942                  ┃ ┃ ┃   ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
943                  ┃ ┃ ┃   ┃   ┗━┳ ADD 
944                  ┃ ┃ ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
945                  ┃ ┃ ┃   ┃     ┗━┳ SUB 
946                  ┃ ┃ ┃   ┃       ┣━┳ MUL 
947                  ┃ ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
948                  ┃ ┃ ┃   ┃       ┃ ┗━┳ DIV 
949                  ┃ ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
950                  ┃ ┃ ┃   ┃       ┃   ┗━┳ ADD 
951                  ┃ ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
952                  ┃ ┃ ┃   ┃       ┃     ┗━┳ EXP2 
953                  ┃ ┃ ┃   ┃       ┃       ┗━┳ MUL 
954                  ┃ ┃ ┃   ┃       ┃         ┣━┳ MUL 
955                  ┃ ┃ ┃   ┃       ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
956                  ┃ ┃ ┃   ┃       ┃         ┃ ┗━┳ MUL 
957                  ┃ ┃ ┃   ┃       ┃         ┃   ┣━┳ MUL 
958                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┣━┳ ADD 
959                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┣━┳ MUL 
960                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
961                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
962                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
963                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
964                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
965                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
966                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
967                  ┃ ┃ ┃   ┃       ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
968                  ┃ ┃ ┃   ┃       ┃         ┃   ┗━┳ ADD 
969                  ┃ ┃ ┃   ┃       ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
970                  ┃ ┃ ┃   ┃       ┃         ┃     ┗━┳ MUL 
971                  ┃ ┃ ┃   ┃       ┃         ┃       ┣━┳ MUL 
972                  ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
973                  ┃ ┃ ┃   ┃       ┃         ┃       ┃ ┗━┳ ADD 
974                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┣━┳ MUL 
975                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┣━┳ MUL 
976                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
977                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
978                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
979                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
980                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
981                  ┃ ┃ ┃   ┃       ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
982                  ┃ ┃ ┃   ┃       ┃         ┃       ┗━┳ ADD 
983                  ┃ ┃ ┃   ┃       ┃         ┃         ┣━┳ MUL 
984                  ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┣━┳ MUL 
985                  ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┣━┳ SUB 
986                  ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
987                  ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
988                  ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
989                  ┃ ┃ ┃   ┃       ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
990                  ┃ ┃ ┃   ┃       ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
991                  ┃ ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
992                  ┃ ┃ ┃   ┃       ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
993                  ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
994                  ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
995                  ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
996                  ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
 512  512    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 512  512    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  512    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
 256  256    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256  256    4    4    2    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64  256    4    4    2    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  256    4    4    2    2    4    2
testing ast 511
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 8192, 128, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ SUM (1, 1, 32, 64, 128, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 4, 130, 4, 258), strides=(0, 32768, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 12), (0, 4), (1, 129), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 0, 2064, 2, 536640, 135192, 259), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 108, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ MAX 
  9      ┣━┳ SUB 
 10      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃ ┗━┳ EXP2 
 12      ┃   ┗━┳ MUL 
 13      ┃     ┣━┳ SUM (1, 1, 32, 64, 128, 1, 1, 1)
 14      ┃     ┃ ┗━┳ MUL 
 15      ┃     ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 4, 130, 4, 258), strides=(0, 32768, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 12), (0, 4), (1, 129), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 0, 2064, 2, 536640, 135192, 259), offset=0, mask=None, contiguous=False))))
 16      ┃     ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 108, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   64  128   12    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  32    4  128   16   12    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32    4   64   16   12    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   64   16   12    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32   64   16   12    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   64   16    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   64   16    2    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   32   16    2    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16   16   16    2    2    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  16   16    2    2    2    8    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   16    2    2    2    8    2    3    3    2    4    3    4    2
testing ast 512
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 1, 7, 7, 1, 1), strides=(15680, 0, 49, 0, 7, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 320, 1, 7, 7, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 1280, 7, 7, 1, 1), strides=(0, 0, 1, 320, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 1280, 7, 7, 1, 1), strides=(62720, 0, 0, 49, 7, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  320   49 1280
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7)]
   2  320    7 1280    7
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 320    7 1280    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  10    7   32 1280    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  10    7   32  320    7    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  10    7   32   80    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10    7   16    2   80    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  10    7    8    2    2   80    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  10    7    2    2    8   80    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    7    2    2    8    2   80    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=8)]
   5    7    2    2    2    8   80    7    2    4    4
testing ast 513
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1,)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32000,), strides=(1,), offset=32000, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.4285714285714286, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32000,), strides=(0,), offset=0, mask=None, contiguous=False),)))
32000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8 4000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
4000    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1000    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  125    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2  125    8    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 125    8    4    4    2
testing ast 514
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1024, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 1024, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1024, 640), strides=(0, 1, 1024), offset=0, mask=None, contiguous=False),)))
  4    ┗━━ CONST ConstBuffer(val=0.0015625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1024, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
1024  640
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
1024    4  160
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 256    4  160    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128    4  160    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 128    4    4   40    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128    4   40    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128   40    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  16    8   40    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    8    2   40    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8    8    2    8    5    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    8    2    8    5    4    2    4    4    2
testing ast 515
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 7, 1, 1, 1, 4, 1, 1, 1, 1), strides=(252, 28, 4, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 9, 7, 1, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 4, 4, 11, 4, 9), strides=(140, 0, 0, 1, 0, 20, 0, 4), offset=-48, mask=((0, 2), (0, 1), (0, 1), (0, 4), (0, 4), (2, 9), (0, 4), (2, 7)), contiguous=False), View(shape=(2, 9, 7, 1, 1, 1, 4, 1, 4, 3, 3), strides=(6336, 36, 1, 0, 0, 0, 0, 0, 1584, 432, 10), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 7, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   2    9    7    4    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2    9    7    2    2    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    9    2    2    4    3    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    2    2    4    3    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9    2    2    4    3    7    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    2    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    3    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    3    2    3    7    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    3    2    2    3    7    2    3    4
testing ast 516
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 1, 8, 6), strides=(432, 48, 0, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 9, 1, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 3, 8, 6), strides=(0, 3, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 3, 8, 6), strides=(144, 0, 48, 6, 1), offset=0, mask=None, contiguous=False),)))
   3    9   48    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   3    9   12    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   3    9   12    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9   12    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9   12    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   9    3    4    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    3    4    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    3    4    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 517
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 1, 1), strides=(0, 8192, 0, 128, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 32, 1, 64, 128, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 4, 66, 4, 130), strides=(0, 8192, 0, 128, 0, 1), offset=-129, mask=((0, 1), (0, 32), (0, 4), (1, 65), (0, 4), (1, 129)), contiguous=False), View(shape=(1, 32, 1, 64, 128, 1, 3, 3), strides=(0, 137280, 0, 520, 1, 0, 34840, 131), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 64, 128, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  32   64  128    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  64  128   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16  128   32    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8  128   32    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8  128   32    3    4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8  128   32    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  128   32    2    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   64   32    2    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   32   32    2    2    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16   32    2    2    2    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   4   16    4    2    2    2    8    4    2    3    3    2
testing ast 518
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 1, 1, 1, 3, 3), strides=(0, 0, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 1, 1, 1, 3, 3), strides=(0, 0, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ SUM (1, 1, 32, 1, 1, 1, 3, 3)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 32, 26, 26, 1, 3, 3), strides=(784, 0, 0, 28, 1, 0, 28, 1), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 32, 26, 26, 1, 3, 3), strides=(21632, 0, 676, 26, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32    3    3  128   26   26
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    3    3  128   26   26    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3  128   26   26    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3  128   26   26    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3  128   26   26    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3  128   26   26    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   3    3   32   26   26    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    3    4    8   26   26    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    4    8   26   26    4    8    4
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 38, in compile_hip
    raise RuntimeError("compile failed")
RuntimeError: compile failed
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    3    4    4    2   26   26    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    4    4    2   26   26    4    8    4
testing ast 519
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 1, 50257, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=True),)))
  6    ┗━━ CONST ConstBuffer(val=1.25, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
50257 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=29)]
1733   29 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1733   29  256    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8)]
1733   29    8   32    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1733   29    2   32    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
1733   29    2    8    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
1733   29    2    2    4    4    4    4
/tmp/comgr-98c817/input/<null>:189:5930: fatal error: bracket nesting level exceeded maximum of 256
/tmp/comgr-98c817/input/<null>:189:5930: note: use -fbracket-depth=N to increase maximum nesting level
1 error generated when compiling for gfx1100.

LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1024), strides=(0, 0, 1024, 1), offset=0, mask=None, contiguous=True),))))), arg=None),), arg=(1, 1, 50257, 1)), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.25, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 50257, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.LOCAL, axis=0, amt=29), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
COMPILE FAILED!!
testing ast 520
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 1, 1), strides=(400, 25, 5, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 16, 5, 5, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━┳ MAX 
  5        ┃ ┣━┳ ADD 
  6        ┃ ┃ ┣━┳ MUL 
  7        ┃ ┃ ┃ ┣━┳ MUL 
  8        ┃ ┃ ┃ ┃ ┣━┳ SUB 
  9        ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(1936, 121, 22, 2, 11, 1), offset=0, mask=None, contiguous=False),)))
 10        ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 5, 2, 2), strides=(400, 25, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 128   16    5    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128    8    5    5    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 128    5    5    2    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 128    5    5    2    2    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32    5    5    2    2    8    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    5    5    2    8    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    5    5    4    2    8    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    5    5    4    2    2    8    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
   4    5    5    2    4    2    8    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    5    5    2    4    2    2    8    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   2    5    5    2    2    4    2    8    2    4    2
testing ast 521
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 1), strides=(100, 10, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (20, 10, 10, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 5), strides=(500, 10, 1, 100), offset=0, mask=None, contiguous=False),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 5), strides=(100, 10, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 5), strides=(500, 10, 1, 100), offset=0, mask=None, contiguous=False),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 5), strides=(100, 10, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(20, 10, 10, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  20  100    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  20  128    5
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  20   64    5    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  10   64    5    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5   64    2    5    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5   16    2    5    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   5    4    2    5    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5    4    5    2    2    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   5    4    5    2    2    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    2    5    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 522
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 1, 9, 5, 3, 3), strides=(1215, 405, 0, 0, 45, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 3, 1, 1, 9, 5, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 2, 9, 5, 3, 3), strides=(0, 18, 0, 9, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 2, 9, 5, 3, 3), strides=(270, 90, 0, 45, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3   45    9    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   3   45    9    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   3   45    9    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  45    9    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    9    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    9    2    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    9    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    9    2    2    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   9    2    2    2    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    3    2    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    3    2    2    4    3    4    4
testing ast 523
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 20), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 20)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(15, 20), strides=(20, 1), offset=0, mask=None, contiguous=True),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(15, 20), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
  20   15
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   15
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   15    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  15    4    8
testing ast 524
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 11, 1, 28), strides=(924, 308, 0, 28, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 3, 1, 11, 1, 28)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 3, 5, 2, 3, 13, 2), strides=(1755, 585, 3, 117, 0, 1, 9, 0), offset=0, mask=((0, 4), (0, 3), (0, 3), (0, 5), (0, 1), (0, 3), (0, 13), (0, 1)), contiguous=False), View(shape=(4, 3, 3, 12, 3, 29), strides=(7020, 2340, 780, 78, 26, 1), offset=0, mask=((0, 4), (0, 3), (0, 3), (0, 10), (0, 3), (0, 26)), contiguous=False), View(shape=(4, 3, 44, 112), strides=(9396, 3132, 87, 1), offset=0, mask=((0, 4), (0, 3), (0, 36), (0, 87)), contiguous=False), View(shape=(4, 3, 4, 11, 4, 28), strides=(14784, 4928, 1232, 112, 28, 1), offset=0, mask=None, contiguous=True))))
   4    3   11   28    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   4    3   11   14    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   11   14    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3   11   14    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3   11   14    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   3   11    7    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  11    7    3    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 525
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 1), strides=(38016, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 1), strides=(38016, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (2, 99, 384, 1)
  5      ┃ ┗━┳ MUL 
  6      ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 6, 64), strides=(38016, 64, 6336, 1), offset=0, mask=None, contiguous=False), View(shape=(2, 99, 384, 384), strides=(38016, 384, 0, 1), offset=0, mask=None, contiguous=False))))
  7      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 384), strides=(0, 0, 384, 1), offset=0, mask=None, contiguous=False),)))
  8      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 99, 384, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
   2   99  384  384
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3)]
   2   99  128  384    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  99  128  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128  128  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   32    4  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   32    4    2  384    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   32    4    2   96    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   32    2    2   96    3    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64   16    2    2   96    3    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   16    2    2    4   24    3    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   16    2    2    4   24    3    2    4    2    2    2
testing ast 526
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1, 1, 16, 4, 1, 1, 1, 1), strides=(0, 64, 0, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64, 1, 1, 1, 16, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1, 1, 16, 4, 16, 4, 1, 1), strides=(0, 64, 0, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1, 1, 16, 4, 16, 4, 1, 1), strides=(0, 0, 0, 0, 0, 256, 1, 16, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   16    4   64
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  64   16    4    4   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   16    2    4   16    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64   16    4   16    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   16    2    4   16    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   16    2   16    2    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   16    2    2   16    2    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   16    2    2   16    2    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   16    2    2   16    2    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2    2    2   16   16    2    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    2    2   16    4    4    2    2    4    4    2
testing ast 527
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 512, 512, 1, 1, 1), strides=(0, 0, 262144, 512, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 128, 512, 512, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 4, 514, 4, 514), strides=(0, 262144, 0, 512, 0, 1), offset=-513, mask=((0, 1), (0, 128), (0, 4), (1, 513), (0, 4), (1, 513)), contiguous=False), View(shape=(1, 1, 128, 512, 512, 128, 3, 3), strides=(0, 0, 0, 2056, 1, 4227136, 1058840, 515), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 512, 512, 128, 3, 3), strides=(0, 0, 1152, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 128  512  512  128    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 128  512   32   16  128    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 128  512   32    8  128    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64  512   32    8  128    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64  128   32    8    4  128    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16  128   32    8    4  128    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4  128   32    8    4  128    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4  128   16    8    4  128    3    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   4  128   16    4    4  128    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4  128    8    4    4    2  128    3    3    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   4  128    8    4    2    4  128    3    3    2    2    4    4    2    2
testing ast 528
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 1, 1, 1, 1, 1, 1, 6, 3, 4), strides=(72, 0, 0, 0, 0, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (5, 1, 1, 1, 1, 1, 1, 1, 6, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 3, 1, 1, 1, 1, 1, 6, 3, 4), strides=(3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 3, 1, 1, 1, 1, 1, 6, 3, 4), strides=(0, 0, 72, 0, 0, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   5   72    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5   36    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  36    3    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  18    2    3    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  18    2    2    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   9    2    2    5    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    2    2    5    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 529
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 512, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ MUL 
 15      ┃ ┃   ┃     ┣━┳ CAST (dtypes.float, False)
 16      ┃ ┃   ┃     ┃ ┗━┳ CMPLT 
 17      ┃ ┃   ┃     ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃   ┗━┳ MAX 
 19      ┃ ┃   ┃     ┃     ┣━┳ ADD 
 20      ┃ ┃   ┃     ┃     ┃ ┣━┳ ADD 
 21      ┃ ┃   ┃     ┃     ┃ ┃ ┣━┳ MUL 
 22      ┃ ┃   ┃     ┃     ┃ ┃ ┃ ┣━┳ MUL 
 23      ┃ ┃   ┃     ┃     ┃ ┃ ┃ ┃ ┣━┳ SUB 
 24      ┃ ┃   ┃     ┃     ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 25      ┃ ┃   ┃     ┃     ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 26      ┃ ┃   ┃     ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 27      ┃ ┃   ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃ ┃   ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 30      ┃ ┃   ┃     ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃ ┃   ┃     ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃ ┃   ┗━┳ MUL 
 33      ┃ ┃     ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 34      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36      ┗━┳ MUL 
 37        ┣━┳ ADD 
 38        ┃ ┣━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 39        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40        ┗━┳ ADD 
 41          ┣━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 42          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    4    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2    2   49    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2   49    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2   49    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   49    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 530
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(125, 256, 1), strides=(256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (125, 256, 1)
  2    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(125, 257, 511), strides=(0, 0, 0), offset=0, mask=((0, 125), (0, 257), (255, 511)), contiguous=False), View(shape=(125, 256, 256), strides=(131327, 1, 512), offset=0, mask=None, contiguous=False))))
 125  256  256
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128  256  256
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 128   64  256    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64   64  256    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  64   16    4  256    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   16    4    2  256    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   16    4    2   64    4    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32   16    2    2   64    4    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    8    2    2   64    4    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  32    8    2    2    8    8    4    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  32    8    2    8    8    4    2    4    2    2    2
testing ast 531
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 320, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 320    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  80    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    8    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8   49    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5   49    4    2    2    8
testing ast 532
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=13824, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 533
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(576, 36, 6, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(576, 36, 6, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   32   36
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   32   36
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32   36    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   36    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4    9    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32    4    4    4    9
testing ast 534
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 1, 1, 1, 1, 5, 4), strides=(0, 0, 20, 0, 0, 0, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 3, 1, 1, 1, 1, 5, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 3, 1, 1, 1, 1, 5, 4), strides=(3, 0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 1, 3, 1, 1, 1, 1, 5, 4), strides=(360, 0, 0, 0, 0, 0, 0, 12, 1), offset=1928, mask=None, contiguous=False),)))
   3    5    4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    4    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    5    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    5    3    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    5    3    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    5    3    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 535
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 1, 1, 1, 5, 1, 6, 5, 3, 4), strides=(1800, 0, 0, 0, 0, 0, 360, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 1, 1, 1, 5, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 1, 1, 1, 5, 1, 6, 5, 3, 4), strides=(0, 5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 1, 1, 1, 1, 5, 1, 6, 5, 3, 4), strides=(1080, 360, 0, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   2    5  360    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8)]
   2    5   45    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   45    8    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  45    8    3    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  45    8    5    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  45    2    5    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 536
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 280, 20, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 14, 20, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 4, 16, 4, 22), strides=(0, 280, 0, 20, 0, 1), offset=-21, mask=((0, 1), (0, 256), (0, 4), (1, 15), (0, 4), (1, 21)), contiguous=False), View(shape=(1, 1, 64, 14, 20, 256, 3, 3), strides=(0, 0, 0, 88, 1, 5632, 1496, 23), offset=0, mask=None, contiguous=False))))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 13    ┃ ┃   ┗━┳ SQRT 
 14    ┃ ┃     ┗━┳ DIV 
 15    ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃       ┗━┳ ADD 
 17    ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┗━┳ DIV 
 21      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━┳ ADD 
 23        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24        ┗━┳ EXP2 
 25          ┗━┳ MUL 
 26            ┣━┳ ADD 
 27            ┃ ┣━┳ MUL 
 28            ┃ ┃ ┣━┳ MUL 
 29            ┃ ┃ ┃ ┣━┳ SUB 
 30            ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 14, 20, 1, 1, 1)
 31            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 32            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 4, 16, 4, 22), strides=(0, 280, 0, 20, 0, 1), offset=-21, mask=((0, 1), (0, 256), (0, 4), (1, 15), (0, 4), (1, 21)), contiguous=False), View(shape=(1, 1, 64, 14, 20, 256, 3, 3), strides=(0, 0, 0, 88, 1, 5632, 1496, 23), offset=0, mask=None, contiguous=False))))
 33            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 256, 3, 3), strides=(0, 0, 2304, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36            ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 37            ┃ ┃   ┗━┳ SQRT 
 38            ┃ ┃     ┗━┳ DIV 
 39            ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━┳ ADD 
 41            ┃ ┃         ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 14, 20, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   14   20  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   14   20   32  256    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   14   20   16  256    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  14   20   16  256    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  14   20   16   64    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  14   20   16   64    3    2    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   7   20   16    2   64    3    2    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   7   20    4    2   64    3    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
   7   20    2    2    2   64    3    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   7   20    2    2    2    8    8    3    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   7   10    2    2    2    2    8    8    3    2    2    4    3    4
testing ast 537
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1280, 1), strides=(0, 1280, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 77, 1280, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1280, 768), strides=(0, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1280, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),)))
  77 1280  768
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
  77 1280  256    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  77  640  256    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  77  320  256    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96  320  256    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  32  320  256    3    2    2    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32  160  256    3    2    2    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   80  256    3    2    2    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   40  256    3    2    2    3    2    2    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1280, 768), strides=(0, 768, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1280, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 77, 1280, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1280, 1), strides=(0, 1280, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
COMPILE FAILED!!
testing ast 538
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 1), strides=(256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (256, 256, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 256), strides=(256, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 256), strides=(0, 1, 256), offset=0, mask=None, contiguous=False),)))
 256  256  256
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256   64  256    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128   64  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   16    4  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   16    4    2  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   16    4    2   64    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   16    2    2   64    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64    8    2    2   64    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    8    2    2    8    8    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  64    8    2    8    8    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64    2    8    8    8    4    2    4    2    2    2
testing ast 539
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 1), strides=(10, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (10, 10, 1)
  2    ┗━┳ EXP2 
  3      ┗━┳ MUL 
  4        ┣━┳ SUB 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(100, 10, 1), offset=0, mask=None, contiguous=True),)))
  6        ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(10, 1, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(10, 10, 10), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 100   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   10    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   10    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    8   10    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    8    4    2   10
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    4    2   10    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 540
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 7, 1, 1, 1, 1, 1, 4, 3, 3), strides=(2268, 252, 36, 0, 0, 0, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 9, 7, 1, 1, 1, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 7, 1, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 7, 1, 1, 1, 4, 1, 4, 3, 3), strides=(252, 7, 1, 0, 0, 0, 63, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   63    4    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   2   21    4    9    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   21    2    9    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  21    2    9    3    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32    2    9    3    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    9    3    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    9    3    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    9    3    2    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
  16    9    3    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   9    3    2   16    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   9    3   16    2    2    4    2    2
testing ast 541
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 2, 4, 2, 4, 1, 1), strides=(0, 0, 0, 0, 0, 32, 8, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 2, 4, 2, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1, 1, 1, 2, 4, 2, 4, 1, 1), strides=(0, 8, 0, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1, 1, 1, 2, 4, 2, 4, 1, 1), strides=(0, 8, 0, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8    8    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    8    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    2    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    2    8    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    8    4    2    2
testing ast 542
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 3, 3), strides=(0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 3, 3), strides=(0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (1, 2, 3, 3)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 3, 3), strides=(6, 3, 1, 0), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 3, 3), strides=(3, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
   2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 543
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1000, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 512), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 512), strides=(0, 512, 1), offset=0, mask=None, contiguous=True),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
1000  512
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
1000    4  128
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 250    4  128    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 125    4  128    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 125    4    4   32    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
 125    4    4   16    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 125    4   16    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 125    4   16    4    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 125   16    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128   16    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  16    8   16    4    2    4    2    4
testing ast 544
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 5, 3, 4), strides=(720, 240, 60, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 3, 4, 1, 1, 1, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 3, 5, 3, 4), strides=(0, 0, 0, 0, 0, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 3, 5, 3, 4), strides=(432, 144, 36, 0, 0, 12, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
  24    5   12    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8    5   12    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5   12    3    3    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5   12    3    8    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   5    4    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    3    8    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 545
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 6, 1, 1, 1, 1, 1, 4, 1, 2), strides=(0, 48, 8, 0, 0, 0, 0, 0, 2, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 11, 6, 1, 1, 1, 1, 1, 4, 1, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 6, 1, 1, 2, 4, 1, 4, 1, 2), strides=(0, 0, 0, 0, 0, 32, 1, 0, 4, 0, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 11, 6, 1, 8), strides=(0, 6, 1, 0, 66), offset=0, mask=((0, 1), (0, 11), (0, 6), (0, 1), (0, 6)), contiguous=False), View(shape=(1, 11, 6, 1, 1, 2, 4, 1, 4, 1, 2), strides=(0, 48, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
  66    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  22    4    2    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  22    4    3    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  22    3    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  22    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  11    3    2    2    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    2    2    4    4    2    3
testing ast 546
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=34176, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 547
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16384, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (16384, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16384, 4096), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(16384, 4096), strides=(1, 16384), offset=0, mask=None, contiguous=False),)))
16384 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 512   32 4096
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 512   16 4096    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256   16 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 256    4    4 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 128    4    4    2 4096    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128    4    4    2 1024    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128    2    4    2 1024    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    2    4    2 1024    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    2    4    2    8  128    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64    2    2    8  128    2    2    4    2    2    4
testing ast 548
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 1280, 16, 16, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1280, 1, 1), strides=(0, 0, 0, 16, 1, 256, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1280, 1, 1), strides=(0, 0, 1280, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1280  256 1280
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
1280   64 1280    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 640   64 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 640   16    4 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 320   16    4    2 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 320   16    4    2  320    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 320   16    2    2  320    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 320    8    2    2  320    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 320    8    2    2    8   40    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 320    8    2    8   40    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 320    2    8    8   40    4    2    4    2    2    2
testing ast 549
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 8, 16, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━┳ MUL 
  5        ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
  6        ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256    4   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   16    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    8    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   16    2    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    2    2    4    4    4    2    2
testing ast 550
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1120, 40, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1120, 40, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ MUL 
  4      ┣━┳ ADD 
  5      ┃ ┣━┳ MUL 
  6      ┃ ┃ ┣━┳ MUL 
  7      ┃ ┃ ┃ ┣━┳ SUB 
  8      ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 28, 40, 1, 1, 1)
  9      ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 10      ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 4, 30, 4, 42), strides=(0, 1120, 0, 40, 0, 1), offset=-41, mask=((0, 1), (0, 64), (0, 4), (1, 29), (0, 4), (1, 41)), contiguous=False), View(shape=(1, 1, 64, 28, 40, 64, 3, 3), strides=(0, 0, 0, 168, 1, 20160, 5208, 43), offset=0, mask=None, contiguous=False))))
 11      ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 12      ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 15      ┃ ┃   ┗━┳ SQRT 
 16      ┃ ┃     ┗━┳ DIV 
 17      ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃       ┗━┳ ADD 
 19      ┃ ┃         ┣━━ LOAD MemBuffer(idx=6, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━┳ DIV 
 23        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24        ┗━┳ ADD 
 25          ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26          ┗━┳ EXP2 
 27            ┗━┳ MUL 
 28              ┣━┳ ADD 
 29              ┃ ┣━┳ MUL 
 30              ┃ ┃ ┣━┳ MUL 
 31              ┃ ┃ ┃ ┣━┳ SUB 
 32              ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 28, 40, 1, 1, 1)
 33              ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 34              ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 4, 30, 4, 42), strides=(0, 1120, 0, 40, 0, 1), offset=-41, mask=((0, 1), (0, 64), (0, 4), (1, 29), (0, 4), (1, 41)), contiguous=False), View(shape=(1, 1, 64, 28, 40, 64, 3, 3), strides=(0, 0, 0, 168, 1, 20160, 5208, 43), offset=0, mask=None, contiguous=False))))
 35              ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 64, 3, 3), strides=(0, 0, 576, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 36              ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37              ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38              ┃ ┃ ┗━┳ CAST (dtypes.float, False)
 39              ┃ ┃   ┗━┳ SQRT 
 40              ┃ ┃     ┗━┳ DIV 
 41              ┃ ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42              ┃ ┃       ┗━┳ ADD 
 43              ┃ ┃         ┣━━ LOAD MemBuffer(idx=6, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 44              ┃ ┃         ┗━━ CONST ConstBuffer(val=0.001, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45              ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 46              ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 28, 40, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64   28   40   64    3    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  64   28   40   32    2    3    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   28   40   32    2    3    3    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   28   40   32    2    3    3    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8   28   40    2    3    3    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   28   40    4    2    3    3    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2   28   40    2    2    2    3    3    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2   28   20    2    2    2    2    3    3    4    2   32
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 1 / 2560 (0.0391%)
Max absolute difference: 1.0625
Max relative difference: 0.01108
 x: array([97.94, 97.7 , 93.75, ...,  0.  ,  0.  ,  0.  ], dtype=float16)
 y: array([97.56, 97.7 , 94.  , ...,  0.  ,  0.  ,  0.  ], dtype=float16)
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   14   20    2    2    2    2    2    3    3    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2   14    5    2    2    2    2    4    2    3    3    4    2   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  14    5    2    2    2    2    4    2    2    3    3    4    2   32
testing ast 551
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(768, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 2, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(768, 384, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
   4  384  384
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   4  128  384    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128  384    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 128    8   48    3    4
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(768, 384, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(2, 2, 384, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(768, 384, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
COMPARE FAILED!!
testing ast 552
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(768, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 384), strides=(0, 384, 1), offset=0, mask=((0, 2), (0, 0), (0, 384)), contiguous=False), View(shape=(2, 2, 384, 1), strides=(768, 384, 1, 0), offset=0, mask=None, contiguous=True))))
  3    ┗━┳ CAST (dtypes.float, False)
  4      ┗━┳ ADD 
  5        ┣━┳ SUM (2, 2, 384, 1)
  6        ┃ ┗━┳ MUL 
  7        ┃   ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(768, 384, 0, 1), offset=0, mask=None, contiguous=False),)))
  8        ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
   4  384  384
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   4  128  384    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128  384    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 128    8   48    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128    8   12    3    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  32    4    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    2    2    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    2    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    2    2    2    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
testing ast 553
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ DIV 
  2    ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5      ┗━┳ EXP2 
  6        ┗━┳ MUL 
  7          ┣━┳ ADD 
  8          ┃ ┣━┳ SUM (1, 1, 672, 1, 1, 1, 1, 1)
  9          ┃ ┃ ┗━┳ MUL 
 10          ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 28, 1, 1), strides=(0, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11          ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 28, 1, 1), strides=(0, 0, 28, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 12          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 13          ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 672, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 672   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  42   16   28
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  42    8   28    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  42   28    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  21    2   28    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  21    2    7    2    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   7    2    7    2    8    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 554
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 512, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 2048), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 2048), strides=(0, 2048, 1), offset=0, mask=None, contiguous=True),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  8    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512 2048
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  16   32 2048
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   16 2048    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16 2048    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2   16    4 2048    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   16    2 2048    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2    4    2 2048    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    4 2048    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 2048    2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    8  256    2    2    2    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    8  256    2    2    2    4    2    4
testing ast 555
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(4, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.long, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━┳ ADD 
  6    ┃     ┣━┳ SUM (4, 1)
  7    ┃     ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(5, 7), strides=(0, 0), offset=0, mask=((0, 5), (3, 7)), contiguous=False), View(shape=(4, 4), strides=(1, 8), offset=0, mask=None, contiguous=False))))
  8    ┃     ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(4, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(4, 1), strides=(2, 0), offset=0, mask=None, contiguous=False),)))
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    4
testing ast 556
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 26, 3, 1, 1, 1, 1, 4, 3, 3), strides=(25272, 2808, 108, 36, 0, 0, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 9, 26, 3, 1, 1, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 26, 3, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 144, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 26, 3, 1, 1, 4, 1, 4, 3, 3), strides=(702, 26, 1, 234, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=((0, 2), (0, 9), (0, 26), (0, 3), (0, 1), (0, 1), (0, 1), (0, 1), (0, 4), (0, 3), (0, 3)), contiguous=False),)))
   2  234    3    4    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  117    3    4    9    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 117    3    4    9    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
 117    3    9    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
 117    3    3    4    4    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 117    3    3    2    4    2    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  39    3    3    2    4    2    2    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  39    3    3    4    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  39    3    3    4    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  13    3    3    3    4    2    2    3    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
  13    3    3    3    4    2    2    3    2    3    2
testing ast 557
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 6, 1, 1, 1, 1, 1), strides=(6, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 6, 1, 1, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 6, 1, 1, 144, 1, 1), strides=(144, 0, 0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 6, 1, 1, 144, 1, 1), strides=(0, 0, 144, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 6, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    6  144
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2    6    8   18
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    8   18    6
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   18    6    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2   18    6    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  18    6    2    4    2
testing ast 558
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 1, 5, 1, 5), strides=(0, 0, 0, 25, 0, 5, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 4, 1, 5, 1, 5)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 2, 6, 2, 6), strides=(0, 0, 0, 4, 2, 64, 1, 16), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 2), (0, 4), (0, 2), (0, 4)), contiguous=False), View(shape=(1, 1, 1, 4, 15, 15), strides=(0, 0, 0, 144, 12, 1), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 12), (0, 12)), contiguous=False), View(shape=(1, 1, 1, 4, 3, 5, 3, 5), strides=(0, 0, 0, 225, 75, 15, 5, 1), offset=0, mask=None, contiguous=True))))
   4    5    5    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    5    3    3    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    3    3    5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5    3    5    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    5    4    3    3
testing ast 559
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 128, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1, 1), strides=(128, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1, 1), strides=(128, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 128   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   4   32   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   32   32    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   32    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2   32    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2    2    2   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2    2    2   32    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 560
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ CAST (dtypes.float, False)
 10          ┃ ┗━┳ CMPLT 
 11          ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 13          ┗━┳ ADD 
 14            ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 28, 2, 28, 2), strides=(50176, 784, 28, 0, 1, 0), offset=0, mask=((0, 2), (0, 64), (0, 28), (0, 1), (0, 28), (0, 1)), contiguous=False), View(shape=(2, 64, 56, 56), strides=(200704, 3136, 56, 1), offset=0, mask=None, contiguous=True))))
 15            ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 56, 56), strides=(215296, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
  64    2   56   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
  64    8    2    7   56
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16    8    2    7   56    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    8    2    7   56    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    8    7   56    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    7   56    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    7   56    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    7    7    4    2    2    8    2
testing ast 561
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=12288, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 562
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 3, 1, 1, 7, 5), strides=(105, 35, 0, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (8, 3, 1, 1, 7, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 3, 1, 2, 7, 5), strides=(0, 10, 0, 5, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 3, 1, 2, 7, 5), strides=(42, 14, 0, 7, 1, 0), offset=0, mask=None, contiguous=False),)))
   8    3    7    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   3    7    5    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    5    8    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    8    2    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8    7    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    4    7    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    2    7    3    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 563
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=14976, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 564
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 4, 1, 11, 1, 7), strides=(308, 0, 0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 4, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 4, 1, 12, 5, 8), strides=(660, 0, 0, 5, 0, 60, 1, 20), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 1), (0, 11), (0, 5), (0, 3)), contiguous=False), View(shape=(4, 1, 1, 4, 22, 42), strides=(1920, 0, 0, 480, 40, 1), offset=0, mask=((0, 4), (0, 1), (0, 1), (0, 4), (0, 12), (0, 40)), contiguous=False), View(shape=(4, 1, 1, 4, 2, 11, 6, 7), strides=(3696, 0, 0, 924, 462, 42, 7, 1), offset=0, mask=None, contiguous=True))))
   4    4   11    7    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4   11    7    4    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   4   11    4    2    6    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    4    2    6    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
testing ast 565
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280), strides=(1280, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.02040816326530612, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (2, 1, 1280)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1000, 1280), strides=(0, 1, 1000), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1000, 1280), strides=(1000, 1, 0), offset=0, mask=None, contiguous=False),)))
   2 1280 1000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2 1280    8  125
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  640    8  125    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 640    8  125    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 320    2    8  125    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 320    2  125    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160    2    2  125    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  80    2    2  125    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  80    2  125    2    2    8    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2  125    2    2    8    2    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    2  125    2    2    8    2    2    2
testing ast 566
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 1), strides=(6, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (2, 6, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 6, 1, 1500), strides=(9000, 1500, 0, 1), offset=0, mask=None, contiguous=True),)))
  12 1500
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   4 1500    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1500    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4  375    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 375    3    4    4
testing ast 567
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 77, 1280, 1), strides=(98560, 1280, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 77, 1280, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 77, 1280, 768), strides=(59136, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 77, 1280, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),)))
 154 1280  768
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7)]
  22 1280  768    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  11 1280  768    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  11 1280    8   96    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  11 1280    8   24    7    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  11 1280    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  11  320    4    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  11  320    2    2    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11  160    2    2    2    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11   80    2    2    2    2    8    6    7    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  11   96    2    2    2    2    8    6    7    2    4    4
testing ast 568
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 1), strides=(36, 4, 2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 9, 2, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 6), strides=(0, 0, 12, 6, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 6), strides=(108, 12, 0, 6, 1), offset=0, mask=None, contiguous=False),)))
  27    2    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  27    2    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  27    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   9    3    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    3    6    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    6    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    2    2    3    3    3
testing ast 569
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 208, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 208, 4, 8, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 208, 4, 8, 1248, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 208, 4, 8, 1248, 1, 1), strides=(0, 0, 1248, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 208, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 208, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 208   32 1248
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 208    8 1248    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 208 1248    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 224 1248    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 112    2 1248    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  28    2    4 1248    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  14    2    4    2 1248    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  14    2    2    2 1248    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  14    2    2    2   32   39    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  14    2    2   32   39    4    8    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 570
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 5, 1, 1, 5, 1, 1, 5, 3, 4), strides=(1500, 0, 0, 300, 0, 0, 60, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 1, 5, 1, 1, 5, 1, 1, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 5, 1, 1, 5, 1, 6, 5, 3, 4), strides=(30, 0, 0, 6, 0, 0, 0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1, 5, 1, 1, 5, 1, 6, 5, 3, 4), strides=(1800, 0, 0, 0, 0, 0, 360, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   2    5    5   60    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4)]
   2    5    5   15    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    5   15    4    6    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5   15    4    6    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5   15    4    5    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   5   15    2    5    2    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5   15    5    2    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    5    3    5    2    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
testing ast 571
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ MUL 
  5        ┣━┳ CAST (dtypes.float, False)
  6        ┃ ┗━┳ CMPLT 
  7        ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 77, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  9        ┗━┳ ADD 
 10          ┣━┳ MUL 
 11          ┃ ┣━┳ ADD 
 12          ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 77, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 13          ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14          ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15          ┗━┳ MUL 
 16            ┣━┳ ADD 
 17            ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 77, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 18            ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19            ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6   77
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  77    6
testing ast 572
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 1, 6), strides=(6, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 1, 1, 6)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 4, 5, 6), strides=(120, 30, 6, 1), offset=0, mask=None, contiguous=True),)))
   3    6   20
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3   20    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    5    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    6    3    4
testing ast 573
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 24, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(75264, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
  24    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32)]
  24   32    2   98
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8   32    2   98    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2   98    3    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    2   98    3    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   98    3    8    4    2
testing ast 574
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ MUL 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUB 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 256, 56, 56, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 64, 1, 1), strides=(0, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 64, 1, 1), strides=(0, 0, 64, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃ ┗━┳ SQRT 
 14    ┃ ┃ ┃   ┗━┳ DIV 
 15    ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃ ┃     ┗━┳ ADD 
 17    ┃ ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┗━┳ ADD 
 21    ┃   ┣━┳ MUL 
 22    ┃   ┃ ┣━┳ MUL 
 23    ┃   ┃ ┃ ┣━┳ SUB 
 24    ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 25    ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26    ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27    ┃   ┃ ┗━┳ SQRT 
 28    ┃   ┃   ┗━┳ DIV 
 29    ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30    ┃   ┃     ┗━┳ ADD 
 31    ┃   ┃       ┣━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32    ┃   ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33    ┃   ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 256, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256 3136   64
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256  784   64    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128  784   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  32  784    4   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32  784    4   16    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32  784    4    4    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32  392    4    2    4    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32  392    2    2    4    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
 392    2    2   32    4    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 392    2   32    2    4    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 392    2    2    2   16    4    4    2    4    4    2
testing ast 575
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 136, 1, 28, 28, 1, 1, 1), strides=(0, 784, 0, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (1, 136, 1, 28, 28, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 34, 4, 28, 28), strides=(0, 784, 26656, 28, 1), offset=0, mask=None, contiguous=False), View(shape=(1, 136, 4, 30, 4, 30), strides=(0, 784, 0, 28, 0, 1), offset=-29, mask=((0, 1), (0, 136), (0, 4), (1, 29), (0, 4), (1, 29)), contiguous=False), View(shape=(1, 136, 1, 28, 28, 1, 3, 3), strides=(0, 14400, 0, 120, 1, 0, 3720, 31), offset=0, mask=None, contiguous=False))))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 136, 1, 28, 28, 1, 3, 3), strides=(0, 9, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 136, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 136, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 136, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 136, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 136   28   28    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  34   28   28    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  17   28   28    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
  17   28    7    4    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  17    7    7    4    3    3    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  17    7    7    2    3    3    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  17    7    7    2    3    4    2    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 576
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 112, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 112, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(21952, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 112, 14, 14), strides=(21952, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 112    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  28    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  14    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  14  196    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
   2  196    4    2    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 196    4    2    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   49    4    2    2    7    2
testing ast 577
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 1), strides=(0, 768, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 77, 768, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 193), strides=(0, 148224, 193, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 1), strides=(0, 768, 1, 0), offset=0, mask=None, contiguous=True),)))
59136  193
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
19712  193    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
9856  193    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
2464    4  193    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 616    4  193    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 154    4  193    3    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 154    2  193    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 160    2  193    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80    2    2  193    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   5    2    2   16  193    3    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=3, amt=16)]
testing ast 578
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(12800, 400, 20, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=7.8125e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   32  400
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    8  400    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16    8  400    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8  400    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    8  100    4    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2  100    4    2    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16  100    4    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4  100    4    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4    2  100    4    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4   25    4    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2    4   25    4    2    4    4    2
testing ast 579
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 11), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 11)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 5, 12), strides=(0, 0, 1, 5), offset=0, mask=((0, 1), (0, 1), (0, 5), (0, 7)), contiguous=False), View(shape=(1, 1, 66), strides=(0, 0, 1), offset=0, mask=((0, 1), (0, 1), (0, 60)), contiguous=False), View(shape=(1, 1, 6, 11), strides=(0, 0, 11, 1), offset=0, mask=None, contiguous=True))))
  11    6
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    6
testing ast 580
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 64, 115, 1, 1), strides=(7360, 0, 115, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (4, 1, 64, 115, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 16, 56, 2), strides=(896, 56, 1, 0), offset=0, mask=((0, 4), (0, 16), (0, 56), (0, 1)), contiguous=False), View(shape=(4, 16, 8, 121), strides=(1792, 112, 0, 1), offset=-5, mask=((0, 4), (0, 16), (0, 8), (5, 116)), contiguous=False), View(shape=(4, 1, 64, 115, 16, 7), strides=(15488, 0, 0, 1, 968, 122), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 64, 115, 16, 7), strides=(0, 0, 7, 0, 448, -1), offset=6, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 64, 115, 1, 1), strides=(0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4   64  115   16    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   4   16  115   16    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16  115   16    7    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  16  115    4    4    7    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  16  115    4    4    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8  115    2    4    4    4    4    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 581
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 1152, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ ADD 
 15      ┃ ┃   ┃     ┣━┳ MUL 
 16      ┃ ┃   ┃     ┃ ┣━┳ DIV 
 17      ┃ ┃   ┃     ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃ ┃ ┗━┳ ADD 
 19      ┃ ┃   ┃     ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┃   ┃     ┃ ┃   ┗━┳ EXP2 
 21      ┃ ┃   ┃     ┃ ┃     ┗━┳ MUL 
 22      ┃ ┃   ┃     ┃ ┃       ┣━┳ ADD 
 23      ┃ ┃   ┃     ┃ ┃       ┃ ┣━┳ MUL 
 24      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┣━┳ MUL 
 25      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 26      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 27      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30      ┃ ┃   ┃     ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃ ┃   ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃ ┃   ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(93312, 81, 9, 1), offset=10, mask=None, contiguous=False),)))
 33      ┃ ┃   ┃     ┗━┳ MUL 
 34      ┃ ┃   ┃       ┣━┳ MUL 
 35      ┃ ┃   ┃       ┃ ┣━┳ DIV 
 36      ┃ ┃   ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃ ┃   ┃       ┃ ┃ ┗━┳ ADD 
 38      ┃ ┃   ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 39      ┃ ┃   ┃       ┃ ┃   ┗━┳ EXP2 
 40      ┃ ┃   ┃       ┃ ┃     ┗━┳ MUL 
 41      ┃ ┃   ┃       ┃ ┃       ┣━┳ ADD 
 42      ┃ ┃   ┃       ┃ ┃       ┃ ┣━┳ MUL 
 43      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┣━┳ MUL 
 44      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 45      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 46      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 47      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 48      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 49      ┃ ┃   ┃       ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 50      ┃ ┃   ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 51      ┃ ┃   ┃       ┃ ┗━┳ SUB 
 52      ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃ ┃   ┃       ┃   ┗━┳ DIV 
 54      ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55      ┃ ┃   ┃       ┃     ┗━┳ ADD 
 56      ┃ ┃   ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 57      ┃ ┃   ┃       ┃       ┗━┳ EXP2 
 58      ┃ ┃   ┃       ┃         ┗━┳ MUL 
 59      ┃ ┃   ┃       ┃           ┣━┳ ADD 
 60      ┃ ┃   ┃       ┃           ┃ ┣━┳ MUL 
 61      ┃ ┃   ┃       ┃           ┃ ┃ ┣━┳ MUL 
 62      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┣━┳ SUB 
 63      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 64      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 65      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 66      ┃ ┃   ┃       ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 67      ┃ ┃   ┃       ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 68      ┃ ┃   ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 69      ┃ ┃   ┃       ┗━┳ MUL 
 70      ┃ ┃   ┃         ┣━┳ ADD 
 71      ┃ ┃   ┃         ┃ ┣━┳ MUL 
 72      ┃ ┃   ┃         ┃ ┃ ┣━┳ MUL 
 73      ┃ ┃   ┃         ┃ ┃ ┃ ┣━┳ SUB 
 74      ┃ ┃   ┃         ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(56448, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 75      ┃ ┃   ┃         ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 76      ┃ ┃   ┃         ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 77      ┃ ┃   ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 78      ┃ ┃   ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79      ┃ ┃   ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1152, 7, 7), strides=(93312, 81, 9, 1), offset=10, mask=None, contiguous=False),)))
 80      ┃ ┃   ┗━┳ MUL 
 81      ┃ ┃     ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 82      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 83      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 84      ┗━┳ MUL 
 85        ┣━┳ ADD 
 86        ┃ ┣━┳ MUL 
 87        ┃ ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 88        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 89        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 90        ┗━┳ ADD 
 91          ┣━┳ MUL 
 92          ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 93          ┃ ┗━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 94          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1152, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1152    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  72   16    2    7    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  18   16    2    7    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   9   16    2    7    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9   16    2    7    4    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9   16    7    4    2    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    8    2    7    4    2    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   9    4    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    2    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    2    3    7    4    2    7    2    2
testing ast 582
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 7, 5), strides=(0, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 7, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6, 7, 5), strides=(0, 0, 0, 5, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6, 7, 5), strides=(0, 0, 0, 7, 1, 0), offset=0, mask=None, contiguous=False),)))
   7    5    6
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    5    6
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    6    7
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    7    5
testing ast 583
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 256), strides=(0, 256, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 256)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 256), strides=(256, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(256, 256, 256), strides=(256, 1, 0), offset=0, mask=None, contiguous=False),)))
 256  256  256
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256   64  256    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128   64  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 128   16    4  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64   16    4    2  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64   16    4    2   64    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   16    2    2   64    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  64    8    2    2   64    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  64    8    2    2    8    8    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  64    8    2    8    8    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64    2    8    8    8    4    2    4    2    2    2
testing ast 584
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=31488, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 585
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 16), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 16)
  2    ┗━┳ MUL 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ SUB 
  5      ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(50176, 56, 1, 3136), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(50176, 896, 16, 1), offset=0, mask=None, contiguous=True),)))
  16    2 3136
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8)]
  16    8    2  392
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    8    2  392    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2  392    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2  392    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2  392    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 392    4    4    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   98    4    4    4    2    2
testing ast 586
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 144, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 28, 28), strides=(112896, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 144    2  784
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
 144   16    2   49
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  48   16    2   49    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  24   16    2   49    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  24   16   49    3    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  24   49    3    2    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   8    3   49    3    2    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 587
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 1, 1, 2, 1, 6, 5, 3, 4), strides=(0, 720, 0, 0, 0, 360, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 1, 1, 2, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 1, 1, 2, 5, 6, 5, 3, 4), strides=(0, 5, 0, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 1, 1, 2, 5, 6, 5, 3, 4), strides=(0, 0, 0, 0, 0, 1800, 360, 60, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   3    2  360    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   3    2   90    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3   90    4    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  90    4    5    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  90    4    2    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  30    4    2    3    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  30    2    2    3    5    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 588
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 32, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ ADD 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 320, 4, 8, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1152, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1152, 1, 1), strides=(0, 0, 1152, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┗━┳ MAX 
 15      ┣━┳ SUB 
 16      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃ ┗━┳ EXP2 
 18      ┃   ┗━┳ MUL 
 19      ┃     ┣━┳ ADD 
 20      ┃     ┃ ┣━┳ MUL 
 21      ┃     ┃ ┃ ┣━┳ ADD 
 22      ┃     ┃ ┃ ┃ ┣━┳ SUM (1, 1, 320, 4, 8, 1, 1, 1)
 23      ┃     ┃ ┃ ┃ ┃ ┗━┳ MUL 
 24      ┃     ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1152, 1, 1), strides=(0, 0, 0, 8, 1, 32, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┃     ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1152, 1, 1), strides=(0, 0, 1152, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 26      ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃     ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 320, 4, 8, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 320   32 1152
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 320    8 1152    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 320 1152    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 320    8  144    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 320    8   36    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160    2    8   36    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 589
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 12544, 112, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ ADD 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 24, 112, 112, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 4, 226, 4, 226), strides=(0, 50176, 0, 224, 0, 1), offset=-225, mask=((0, 1), (0, 3), (0, 4), (1, 225), (0, 4), (1, 225)), contiguous=False), View(shape=(1, 1, 24, 112, 112, 3, 3, 3), strides=(0, 0, 0, 1808, 2, 817216, 205208, 227), offset=0, mask=None, contiguous=False))))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 24, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  24  112  112    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  24   14  112    8    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  24   14   56    8    3    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  24   14   56    3    3    3    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  24   14   56    3    3    2    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  24   14   56    3    2    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   8   14   56    3    3    2    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8   14   28    3    2    3    2    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    7   28    3    2    2    3    2    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8    7   14    3    2    2    2    3    2    8    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    7   14    3    2    2    2    4    3    2    8    3    3
testing ast 590
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 1600), strides=(0, 1600, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 1600)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1600), strides=(1600, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10, 1600), strides=(10, 1, 0), offset=0, mask=None, contiguous=False),)))
  10 1600  128
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  10 1600   32    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  10  800   32    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5  800   32    4    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5  800   32    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5  400   32    2    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   5  400    8    2    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5  200    2    8    2    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   5   25    2    8    8    2    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5   25    8    8    2    2    4    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   5   25    4    2    8    2    2    4    2    4    2
testing ast 591
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1), strides=(128, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (32, 128, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 784), strides=(784, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 784), strides=(0, 784, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 128, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  32  128  784
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  32   32  784    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   32  784    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  16    8    4  784    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    8    4  196    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    8    4   49    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  16    8    2   49    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16    4    2    2   49    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16    2    2    2    2   49    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    2    2    2    2    8   49    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8    2   49    4    2    4    4    2
testing ast 592
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 240, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ SUB 
  5    ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
  6    ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃   ┗━┳ SUB 
  8    ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(188160, 784, 28, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 28, 28), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=0.0006377551020408163, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 240, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 240    2  784
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
 240   16    2   49
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  80   16    2   49    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40   16    2   49    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40    4    2   49    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  40    4   49    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  40   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  10    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
testing ast 593
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 5, 1, 1, 1), strides=(0, 0, 50, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 6, 10, 5, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 5, 3, 2, 3), strides=(0, 0, 0, 7, 1, 77, 7, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 5, 3, 2, 3), strides=(0, 0, 18, 0, 0, 6, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 5, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6   10    5    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2   10    5    3    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   10    3    3    2    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    3    3    2    3    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    3    2    3    2    3    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5    3    2    3    3    5    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    2    3    3    5    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    2    3    5    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 594
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.int, False)
  3    ┃ ┗━┳ CMPEQ 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  6    ┗━┳ ADD 
  7      ┣━┳ SUM (2, 1)
  8      ┃ ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 3), strides=(0, 0), offset=0, mask=((0, 3), (1, 3)), contiguous=False), View(shape=(2, 2), strides=(1, 4), offset=0, mask=None, contiguous=False))))
  9      ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2
testing ast 595
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 3, 1, 1, 1, 1, 6, 5, 3, 4), strides=(1080, 0, 360, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 3, 1, 1, 1, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 3, 4, 1, 1, 1, 6, 5, 3, 4), strides=(0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 3, 4, 1, 1, 1, 6, 5, 3, 4), strides=(720, 0, 240, 60, 0, 0, 0, 0, 12, 4, 1), offset=0, mask=None, contiguous=False),)))
   6    6   60    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   6    3   60    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3   60    4    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3   60    4    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3   60    2    6    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   3   15    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  15    3    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    3    3    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    3    2    6    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 596
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 512, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 512    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    4    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2    2   49    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2   49    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2   49    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   49    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 597
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 1, 59, 1, 59), strides=(501264, 3481, 0, 59, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 144, 1, 59, 1, 59)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 5, 28, 2, 5, 28, 2), strides=(2822400, 19600, 5, 700, 0, 1, 25, 0), offset=0, mask=((0, 2), (0, 144), (0, 5), (0, 28), (0, 1), (0, 5), (0, 28), (0, 1)), contiguous=False), View(shape=(2, 144, 5, 60, 5, 60), strides=(11289600, 78400, 15680, 280, 56, 1), offset=0, mask=((0, 2), (0, 144), (0, 5), (0, 56), (0, 5), (0, 56)), contiguous=False), View(shape=(2, 144, 354, 354), strides=(12960000, 90000, 300, 1), offset=0, mask=((0, 2), (0, 144), (0, 300), (0, 300)), contiguous=False), View(shape=(2, 144, 6, 59, 6, 59), strides=(18045504, 125316, 20886, 354, 59, 1), offset=0, mask=None, contiguous=True))))
   2  144   59   59    6    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2   18   59   59    8    6    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2)]
   2   18   59   59    4    6    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  18   59   59    4    6    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  18   64   59    4    6    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   9   64   59    4    2    6    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9   64   59    4    2    6    2    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9   32   59    4    2    2    6    2    2    6
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   9   32   59    2    2    2    6    2    2    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   9    4   59    2    2    2    8    6    2    2    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=4, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   9    4   59    2    2    8    6    2    2    6    2    2
testing ast 598
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 8, 1, 1, 8, 1, 1), strides=(0, 0, 8, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 1, 8, 1, 1, 8, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 8, 5, 5, 8, 1, 1), strides=(0, 0, 0, 5, 1, 25, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 8, 5, 5, 8, 1, 1), strides=(0, 0, 25, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 8, 1, 1, 8, 1, 1), strides=(0, 0, 8, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
   8    8   25
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   8    2    4   25
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   8    4   25    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4   25    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   25    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   25    2    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  25    2    8    2    2
testing ast 599
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 4, 1, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(36, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(36, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.05555555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    2    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    2    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    9
testing ast 600
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 1, 9, 5, 3, 3), strides=(0, 405, 0, 0, 45, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 1, 9, 5, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 2, 9, 5, 3, 3), strides=(0, 18, 0, 9, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 2, 9, 5, 3, 3), strides=(0, 90, 0, 45, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   3   45    9    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   3   15    9    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  15    9    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  15    9    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  15    3    3    3    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5    3    3    3    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   5    3    3    3    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 601
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 640, 32, 32, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1280, 4, 34, 4, 34), strides=(0, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 1), (0, 1280), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(1, 1, 640, 32, 32, 1280, 3, 3), strides=(0, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1280, 3, 3), strides=(0, 0, 11520, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 640   32   32 1280    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
 640   32    2   16 1280    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
 640   32    2    8 1280    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 640   32    8 1280    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  20   32    8   32 1280    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  20   32    8    8 1280    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  20    8    8    8 1280    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
  20    8    8    2 1280    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  20    8    4    2    2 1280    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  20    8    4    2    2    8  160    3    3    2    2    4    4    4
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1280, 4, 34, 4, 34), strides=(0, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 1), (0, 1280), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(1, 1, 640, 32, 32, 1280, 3, 3), strides=(0, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1280, 3, 3), strides=(0, 0, 11520, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 640, 32, 32, 1, 1, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
COMPILE FAILED!!
testing ast 602
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 11, 1, 7), strides=(0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 2, 12, 5, 8), strides=(0, 300, 5, 30, 1, 10), offset=0, mask=((0, 1), (0, 3), (0, 2), (0, 10), (0, 5), (0, 3)), contiguous=False), View(shape=(1, 3, 33, 42), strides=(0, 960, 40, 1), offset=0, mask=((0, 1), (0, 3), (0, 24), (0, 40)), contiguous=False), View(shape=(1, 3, 3, 11, 6, 7), strides=(0, 1386, 462, 42, 7, 1), offset=0, mask=None, contiguous=True))))
   3   11    7    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    3    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    6    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    3    3    7    6
testing ast 603
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(3, 256, 1), strides=(256, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 256, 1)
  2    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(768,), strides=(0,), offset=0, mask=((180, 768),), contiguous=False), View(shape=(3, 257, 511), strides=(256, 0, 1), offset=-255, mask=((0, 3), (0, 257), (255, 511)), contiguous=False), View(shape=(3, 256, 256), strides=(131327, 1, 512), offset=0, mask=None, contiguous=False))))
   3  256  256
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   3  256   32    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   3  128   32    8    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128   32    8    2    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128    8    8    2    3    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 128    8    2    3    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  32    4    8    2    3    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    2    2    8    2    3    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    2    8    2    3    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    2    2    2    8    2    3    4    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
testing ast 604
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 144, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ DIV 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━┳ ADD 
  7      ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃   ┗━┳ EXP2 
  9      ┃ ┃     ┗━┳ MUL 
 10      ┃ ┃       ┣━┳ ADD 
 11      ┃ ┃       ┃ ┣━┳ MUL 
 12      ┃ ┃       ┃ ┃ ┣━┳ MUL 
 13      ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 14      ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(484416, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
 21      ┗━┳ MUL 
 22        ┣━┳ MUL 
 23        ┃ ┣━┳ DIV 
 24        ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25        ┃ ┃ ┗━┳ ADD 
 26        ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27        ┃ ┃   ┗━┳ EXP2 
 28        ┃ ┃     ┗━┳ MUL 
 29        ┃ ┃       ┣━┳ ADD 
 30        ┃ ┃       ┃ ┣━┳ MUL 
 31        ┃ ┃       ┃ ┃ ┣━┳ MUL 
 32        ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 33        ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 34        ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 35        ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 36        ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 37        ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38        ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 39        ┃ ┗━┳ SUB 
 40        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41        ┃   ┗━┳ DIV 
 42        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43        ┃     ┗━┳ ADD 
 44        ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45        ┃       ┗━┳ EXP2 
 46        ┃         ┗━┳ MUL 
 47        ┃           ┣━┳ ADD 
 48        ┃           ┃ ┣━┳ MUL 
 49        ┃           ┃ ┃ ┣━┳ MUL 
 50        ┃           ┃ ┃ ┃ ┣━┳ SUB 
 51        ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 52        ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 53        ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54        ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 55        ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 56        ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 57        ┗━┳ MUL 
 58          ┣━┳ ADD 
 59          ┃ ┣━┳ MUL 
 60          ┃ ┃ ┣━┳ MUL 
 61          ┃ ┃ ┃ ┣━┳ SUB 
 62          ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 63          ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 64          ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65          ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 66          ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 67          ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(484416, 3364, 58, 1), offset=59, mask=None, contiguous=False),)))
 144    2   56   56
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   9   16    2   56   56
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3   16    2   56   56    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2   56   56    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4)]
  16    2   56   14    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    2   14   14    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 605
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (45, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65), strides=(65, 1), offset=0, mask=None, contiguous=True),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(45, 65), strides=(0, 1), offset=0, mask=None, contiguous=False),)))
  45   65
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  15   65    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5   65    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.GROUPTOP, axis=0, amt=13)]
   5   13    5    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.GROUPTOP, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13    5    3    3    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.GROUPTOP, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  13    3    3    5    5
testing ast 606
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 9, 8, 6), strides=(0, 0, 0, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 9, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 1, 9, 8, 6), strides=(1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 1, 9, 8, 6), strides=(432, 0, 0, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
 432    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
 144    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  72    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  36    2    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   9    2    3    3    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    2    3    3    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    3    3    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    3    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 607
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=768, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 608
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(768, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 384), strides=(0, 384, 1), offset=0, mask=((0, 2), (0, 0), (0, 384)), contiguous=False), View(shape=(2, 2, 384, 1), strides=(768, 384, 1, 0), offset=0, mask=None, contiguous=True))))
  3    ┗━┳ CAST (dtypes.float, False)
  4      ┗━┳ ADD 
  5        ┣━┳ SUM (2, 2, 384, 1)
  6        ┃ ┗━┳ MUL 
  7        ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(768, 384, 0, 1), offset=0, mask=None, contiguous=False),)))
  8        ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 384), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 2, 384, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
   4  384  384
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   4  128  384    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 128  384    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 128    8   48    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128    8   12    3    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  32    4    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    2    2    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    2    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    2    2    2    2    8    3    3    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
testing ast 609
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 672, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 672, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ DIV 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━┳ ADD 
  7      ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃   ┗━┳ EXP2 
  9      ┃ ┃     ┗━┳ MUL 
 10      ┃ ┃       ┣━┳ ADD 
 11      ┃ ┃       ┃ ┣━┳ MUL 
 12      ┃ ┃       ┃ ┃ ┣━┳ MUL 
 13      ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 14      ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(32928, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┗━┳ ADD 
 21      ┃   ┣━┳ MUL 
 22      ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(672, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 23      ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(32928, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 24      ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(672, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┗━┳ MUL 
 26        ┣━┳ MUL 
 27        ┃ ┣━┳ DIV 
 28        ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29        ┃ ┃ ┗━┳ ADD 
 30        ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31        ┃ ┃   ┗━┳ EXP2 
 32        ┃ ┃     ┗━┳ MUL 
 33        ┃ ┃       ┣━┳ ADD 
 34        ┃ ┃       ┃ ┣━┳ MUL 
 35        ┃ ┃       ┃ ┃ ┣━┳ MUL 
 36        ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 37        ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(32928, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 38        ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 39        ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40        ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 41        ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42        ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43        ┃ ┗━┳ SUB 
 44        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45        ┃   ┗━┳ DIV 
 46        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47        ┃     ┗━┳ ADD 
 48        ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 49        ┃       ┗━┳ EXP2 
 50        ┃         ┗━┳ MUL 
 51        ┃           ┣━┳ ADD 
 52        ┃           ┃ ┣━┳ MUL 
 53        ┃           ┃ ┃ ┣━┳ MUL 
 54        ┃           ┃ ┃ ┃ ┣━┳ SUB 
 55        ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(32928, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 56        ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 57        ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 58        ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 59        ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 60        ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61        ┗━┳ MUL 
 62          ┣━┳ ADD 
 63          ┃ ┣━┳ MUL 
 64          ┃ ┃ ┣━┳ MUL 
 65          ┃ ┃ ┃ ┣━┳ SUB 
 66          ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(32928, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 67          ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 68          ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 69          ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 70          ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 71          ┗━┳ ADD 
 72            ┣━┳ MUL 
 73            ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(672, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 74            ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(32928, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 75            ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 7, 7), strides=(672, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 672    2   49
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  21   32    2   49
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   7   32    2   49    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2   49    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4    2   49    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2    2   49    3    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8    2   49    3    7    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    2   49    3    7    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4   49    3    7    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 610
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 512, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ CAST (dtypes.float, False)
 10          ┃ ┗━┳ CMPLT 
 11          ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 13          ┗━┳ ADD 
 14            ┣━┳ MUL 
 15            ┃ ┣━┳ CAST (dtypes.float, False)
 16            ┃ ┃ ┗━┳ CMPLT 
 17            ┃ ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18            ┃ ┃   ┗━┳ MAX 
 19            ┃ ┃     ┣━┳ ADD 
 20            ┃ ┃     ┃ ┣━┳ ADD 
 21            ┃ ┃     ┃ ┃ ┣━┳ MUL 
 22            ┃ ┃     ┃ ┃ ┃ ┣━┳ MUL 
 23            ┃ ┃     ┃ ┃ ┃ ┃ ┣━┳ SUB 
 24            ┃ ┃     ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 25            ┃ ┃     ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 26            ┃ ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 27            ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28            ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 29            ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(25088, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 30            ┃ ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31            ┃ ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 512, 7, 7), strides=(41472, 81, 9, 1), offset=10, mask=None, contiguous=False),)))
 512    2    7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128    2    7    7    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64    2    7    7    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  64    2    7    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    2    7    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    2    7    4    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    7    4    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  16    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   2   16    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    7    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
testing ast 611
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 1, 1, 1), strides=(655360, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 640, 32, 32, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 640, 4, 34, 4, 34), strides=(655360, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 2), (0, 640), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(2, 1, 640, 32, 32, 640, 3, 3), strides=(11837440, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 640, 32, 32, 640, 3, 3), strides=(0, 0, 5760, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
   2  640   32   32  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   40   32   32   16  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
   2   40   32    8   16  640    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   40   32   16  640    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2   64   32   16  640    3    3    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   2   64   32   16  640    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2   64   32    8    2  640    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2   64   16    8    2    2  640    3    4    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   64    8    8    2    2  640    3    4    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2   64    8    8    2    2    4  160    3    4    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   2   64    8    4    2    2    2    4  160    3    4    8    3    2
testing ast 612
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 77, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768), strides=(0, 768, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768), strides=(0, 768, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0013020833333333333, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  77  768
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  77  192    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=7)]
  11  192    4    7
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  11   32    6    4    7
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11   32    4    7    6
testing ast 613
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 32, 1, 1, 12, 1, 1), strides=(12288, 0, 384, 12, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 1, 32, 32, 1, 1, 12, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 32, 32, 12, 1, 1), strides=(11532, 0, 0, 31, 1, 961, 0, 0), offset=-1, mask=((0, 512), (0, 1), (0, 32), (0, 31), (1, 32), (0, 12), (0, 1), (0, 1)), contiguous=False), View(shape=(512, 1, 32, 32, 1, 32, 12, 1, 1), strides=(393216, 0, 12288, 384, 0, 12, 1, 0, 0), offset=0, mask=None, contiguous=True))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 32, 1, 32, 12, 1, 1), strides=(32768, 0, 1024, 32, 0, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512   32   32   12   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  64   32   32   12    8   32
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   32   32   12    8   32    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   32   32   12    8   32    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   8   32   16   12    8    2   32    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8   32   16   12    8    2    8    4    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   8   32   16   12    8    2    4    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   8   32   16   12    4    2    2    4    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   8   32   16    6    4    2    2    2    4    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
  32   16    6    4    2    2    2    8    4    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
  32   16    6    2    2    2    8    4    4    2    4    8
testing ast 614
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ MUL 
  4      ┣━┳ CAST (dtypes.float, False)
  5      ┃ ┗━┳ ADD 
  6      ┃   ┣━┳ SUM (7, 1)
  7      ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(8, 13), strides=(0, 0), offset=0, mask=((0, 8), (6, 13)), contiguous=False), View(shape=(7, 7), strides=(1, 14), offset=0, mask=None, contiguous=False))))
  8      ┃   ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(7, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    7
testing ast 615
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 1024, 1), strides=(8388608, 1048576, 1024, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 8, 1024, 1024, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 1024, 80), strides=(655360, 80, 640, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 1024, 80), strides=(655360, 80, 0, 640, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.11180339887498948, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 1024, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    8 1024 1024   80
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16)]
   2    8 1024   64   16   80
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    8  512   64   16   80    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8  512   64   16   80    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
   8  512    4   16   16   80    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   8  128    4   16   16   80    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2  128    4   16   16   80    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
   2  128    4    4   16   80    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   2  128    2    4   16    2   80    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   64    2    4   16    2    2   80    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=16)]
   2   64    2    4    2    2   16   80    2    2    4    4    4
testing ast 616
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 1, 1, 1), strides=(0, 0, 22500, 150, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 64, 150, 150, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 32, 3, 3), strides=(0, 0, 0, 152, 1, 23104, 152, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=-0.1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ ADD 
 14      ┃   ┣━┳ SUM (1, 1, 64, 150, 150, 1, 1, 1)
 15      ┃   ┃ ┗━┳ MUL 
 16      ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 32, 3, 3), strides=(0, 0, 0, 152, 1, 23104, 152, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
 18      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 150, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64  150  150   32    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
  64  160  150   32    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3)]
  64  160   50   32    3    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  160   50   32    3    3    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  32  160   50    8    4    3    3    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  32  160   50    8    4    3    3    2    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32  160   50    8    4    3    2    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  32  160   50    8    3    2    3    3    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  32  160   25    2    8    3    2    3    3    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32   80   25    2    2    8    3    2    3    3    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32   40   25    2    2    2    8    3    2    3    3    4
testing ast 617
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 11, 1, 7), strides=(0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 3, 12, 5, 8), strides=(0, 405, 5, 45, 1, 15), offset=0, mask=((0, 1), (0, 3), (0, 3), (0, 9), (0, 5), (0, 3)), contiguous=False), View(shape=(1, 3, 44, 42), strides=(0, 1440, 40, 1), offset=0, mask=((0, 1), (0, 3), (0, 36), (0, 40)), contiguous=False), View(shape=(1, 3, 4, 11, 6, 7), strides=(0, 1848, 462, 42, 7, 1), offset=0, mask=None, contiguous=True))))
   3   11    7    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  11    7    3    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    3    4    6    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  11    4    6    7    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  11    6    7    3    4
testing ast 618
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (2, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16), strides=(16, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.0625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   2   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4    4
testing ast 619
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 1, 1, 1), strides=(0, 0, 8192, 128, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 32, 64, 128, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 12, 4, 130, 4, 258), strides=(0, 32768, 0, 256, 0, 1), offset=-257, mask=((0, 1), (0, 12), (0, 4), (1, 129), (0, 4), (1, 257)), contiguous=False), View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 0, 2064, 2, 536640, 135192, 259), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 64, 128, 12, 3, 3), strides=(0, 0, 108, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  32   64  128   12    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  32    4  128   16   12    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  32    4   64   16   12    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   64   16   12    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32   64   16   12    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   64   16    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   64   16    2    3    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   32   16    2    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  16   16   16    2    2    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8)]
  16   16    2    2    2    8    3    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   16    2    2    2    8    2    3    3    2    4    3    4    2
testing ast 620
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 1, 1, 16, 3, 3), strides=(0, 0, 144, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 16, 1, 1, 16, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 16, 16, 16, 3, 3), strides=(0, 0, 0, 18, 1, 324, 18, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 16, 16, 16, 16, 3, 3), strides=(0, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   16    3    3   16   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
  16   16    3    3   16   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16    8    3    3   16   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  16    3    3   16   16    2    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    3    3    2   16   16    2    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8    3    3    2   16    2    8   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 621
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 1, 576), strides=(576, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 1, 576)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10, 576), strides=(0, 576, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 10, 576), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32  576   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8  576   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 576   10    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
 192    3   10    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  48    3   10    4    8    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
testing ast 622
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 14, 16), strides=(896, 224, 16, 1), offset=0, mask=None, contiguous=True),)))
   4    2  224
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2  224    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2  224    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
  16    2   14    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  16   14    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  14    2    2    2   16
testing ast 623
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1,)
  2    ┗━┳ CAST (dtypes.int, False)
  3      ┗━┳ NEG 
  4        ┗━┳ CMPEQ 
  5          ┣━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(3,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  6          ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.long, st=ShapeTracker(views=(View(shape=(3,), strides=(1,), offset=0, mask=None, contiguous=True),)))
   3
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3
testing ast 624
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 80, 1), strides=(655360, 81920, 80, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 8, 1024, 80, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 80, 77), strides=(630784, 78848, 77, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1024, 80, 77), strides=(49280, 80, 0, 1, 640), offset=0, mask=None, contiguous=False),)))
   2    8 1024   80   77
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32)]
   2    8 1024   96   77
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    8  512   96   77    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8  512   96   77    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  512   96    2   77    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   4  512   24    2   77    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
   4  512    6    2   77    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4  512    3    2   77    2    2    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2  512    3    2   77    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2   64    3    2    8   77    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=3, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=4, amt=8)]
testing ast 625
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 1, 9, 8, 6), strides=(432, 0, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 1, 9, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 3, 9, 8, 6), strides=(3, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 3, 9, 8, 6), strides=(0, 432, 48, 6, 1), offset=0, mask=None, contiguous=False),)))
   3  432    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   3   27   16    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   3   27    8    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  27    8    3    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  27    8    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  27    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   9    2    2    3    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 626
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 3, 1, 1, 1), strides=(0, 0, 30, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 6, 10, 3, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 3, 3, 2, 5), strides=(0, 0, 0, 7, 1, 77, 7, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 3, 3, 2, 5), strides=(0, 0, 30, 0, 0, 10, 5, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 10, 3, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6   10    3    3    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2   10    3    3    3    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   10    3    3    2    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  10    3    3    2    5    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    3    2    3    2    5    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5    3    2    3    5    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    2    3    5    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    3    5    3    2    2    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    5    3    2    2    3    2    3
testing ast 627
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 10, 1, 1), strides=(3200, 100, 10, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 32, 10, 10, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ MUL 
  5      ┃ ┃ ┣━┳ SUB 
  6      ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 10, 2, 2), strides=(12800, 400, 40, 2, 20, 1), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 10, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 10, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9      ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 10, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 10, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   32   10   10    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2)]
  32   32   10    5    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  32   32   10    2    2    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32   16   10    2    2    2    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   16   10    2    2    2    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   16   10    2    2    2    2    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  16   16    5    2    2    2    2    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16    5    2    2    2    2    5    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   8    4    5    2    2    4    2    2    5    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   8    5    2    2    4    4    2    2    5    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   8    5    2    4    4    2    2    2    5    2    2    2
testing ast 628
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 320, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 64), strides=(0, 64, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.015625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 320   64
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
 320    4   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  80    4   16    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    4   16    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  40    4    8    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  40    4    8    4    2    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  40    4    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  20    2    4    4    2    2    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  10    2    4    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   5    2    2    4    4    2    2    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    2    4    4    2    2    8    2
testing ast 629
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 1, 1, 1), strides=(1310720, 0, 4096, 64, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 320, 64, 64, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 4, 66, 4, 66), strides=(1310720, 4096, 0, 64, 0, 1), offset=-65, mask=((0, 2), (0, 320), (0, 4), (1, 65), (0, 4), (1, 65)), contiguous=False), View(shape=(2, 1, 320, 64, 64, 320, 3, 3), strides=(22302720, 0, 0, 264, 1, 69696, 17688, 67), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 320, 64, 64, 320, 3, 3), strides=(0, 0, 2880, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
   2  320   64   64  320    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   20   64   64   16  320    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2   20   64   32   16  320    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20   64   32   16  320    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
  20   64    2   16   16  320    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4)]
  20   64    2   16    4  320    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  20   16    2   16    4  320    3    3    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  20    4    2   16    4  320    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  20    4   16    4    2  320    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  20    2   16    4    2    2  320    3    3    2    2    4    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
  20    2   16    2    2    2    2  320    3    3    2    2    4    4    4
testing ast 630
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (32, 8, 16, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━┳ EXP2 
  5        ┃ ┗━┳ MUL 
  6        ┃   ┣━┳ SUB 
  7        ┃   ┃ ┣━┳ ADD 
  8        ┃   ┃ ┃ ┣━┳ MUL 
  9        ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
 10        ┃   ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(2048, 256, 16, 1), offset=0, mask=None, contiguous=True),)))
 12        ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃   ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┗━┳ ADD 
 15          ┣━┳ DIV 
 16          ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
 17          ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 18          ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256    4   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   16    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    8    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   16    2    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    2    2    4    4    4    2    2
testing ast 631
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 128), strides=(0, 128, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 128)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10, 128), strides=(128, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(69, 10, 128), strides=(10, 1, 0), offset=0, mask=None, contiguous=False),)))
  10  128   69
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  10   64   69    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5   64   69    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   5    8    8   69    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   5    8    4   69    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    4    4   69    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5    2    4   69    2    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5    4   69    2    2    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5   69    2    2    2    2    2    2    4
testing ast 632
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 9, 8, 6), strides=(0, 432, 48, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 9, 8, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 9, 8, 6), strides=(18, 9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 9, 8, 6), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  18   48    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  18   12    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  18   12    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  18   12    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   12    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  32    3    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    3    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    3    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    3    2    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   8    3    2    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   3    8    2    2    4    2    2    2
testing ast 633
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 21, 4, 1, 1), strides=(168, 84, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 21, 4, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 21, 4, 5, 5), strides=(6160, 3080, 140, 5, 56, 2), offset=0, mask=None, contiguous=False),)))
  64   21    4    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  64    7    4    5    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  64    4    5    5    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    5    5    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    4   16    2    5    5    3    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4   16    2    5    3    7    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    4    8    2    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    8    2    2    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2    2    2    2    2    4    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    4    2    5    3    7    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
   2    2    2    2    2    4    5    3    7    5    2
testing ast 634
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 32, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 3, 3), strides=(288, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.05555555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32    2    9
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    2    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    9    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    4    8    2
testing ast 635
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 32, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 32, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(12800, 400, 20, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ DIV 
 10          ┃ ┣━┳ CAST (dtypes.float, False)
 11          ┃ ┃ ┗━┳ CMPEQ 
 12          ┃ ┃   ┣━┳ ADD 
 13          ┃ ┃   ┃ ┣━┳ MUL 
 14          ┃ ┃   ┃ ┃ ┣━┳ MUL 
 15          ┃ ┃   ┃ ┃ ┃ ┣━┳ SUB 
 16          ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(12800, 400, 20, 1), offset=0, mask=None, contiguous=True),)))
 17          ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18          ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 19          ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 20          ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 20, 20), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 21          ┃ ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 2, 10, 2), strides=(3200, 100, 10, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(32, 32, 20, 20), strides=(12800, 400, 20, 1), offset=0, mask=None, contiguous=True))))
 22          ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 2, 10, 2), strides=(3200, 100, 10, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(32, 32, 20, 20), strides=(12800, 400, 20, 1), offset=0, mask=None, contiguous=True))))
 23          ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 32, 10, 2, 10, 2), strides=(3200, 100, 10, 0, 1, 0), offset=0, mask=None, contiguous=False), View(shape=(32, 32, 20, 20), strides=(12800, 400, 20, 1), offset=0, mask=None, contiguous=True))))
  32   32   20   20
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   32   20   20
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   32   20   20    2
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16    8    4   20   20    2
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  16    8   20   20    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4    8   20   20    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    8   20   20    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    2    8   20   20    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8   20   20    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2    8   20   20    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 636
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 1, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ MUL 
  9        ┃ ┃   ┃ ┣━┳ ADD 
 10        ┃ ┃   ┃ ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4096), strides=(0, 0, 1), offset=0, mask=None, contiguous=True),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.000244140625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),)))
 15        ┗━━ CONST ConstBuffer(val=1e-06, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=True),)))
4096
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  512
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 512    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 128    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  32    4    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32    8    4    4
testing ast 637
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 11, 5, 1, 3), strides=(495, 0, 165, 0, 15, 3, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 11, 5, 1, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 11, 5, 1, 3), strides=(0, 0, 3, 9, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 11, 5, 1, 3), strides=(330, 0, 0, 55, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3   55    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   55    3    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  55    3    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
  55    3    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  55    3    3    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  55    3    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    3    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    3    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   32    3    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2    2   16    3    4    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   16    2    3    4    6    3
testing ast 638
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 1, 1), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (500, 512, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ MUL 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━┳ ADD 
  7      ┃ ┃   ┣━┳ MUL 
  8      ┃ ┃   ┃ ┣━┳ MUL 
  9      ┃ ┃   ┃ ┃ ┣━┳ SUB 
 10      ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 11      ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 15      ┃ ┗━┳ ADD 
 16      ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┗━┳ SUB 
 18      ┃     ┣━┳ MUL 
 19      ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━┳ DIV 
 21      ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┃     ┃   ┗━┳ ADD 
 23      ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24      ┃     ┃     ┗━┳ EXP2 
 25      ┃     ┃       ┗━┳ MUL 
 26      ┃     ┃         ┣━┳ MUL 
 27      ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃     ┃         ┃ ┗━┳ MUL 
 29      ┃     ┃         ┃   ┣━┳ MUL 
 30      ┃     ┃         ┃   ┃ ┣━┳ ADD 
 31      ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
 32      ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
 33      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 34      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 35      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 36      ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 38      ┃     ┃         ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 39      ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40      ┃     ┃         ┃   ┗━┳ ADD 
 41      ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42      ┃     ┃         ┃     ┗━┳ MUL 
 43      ┃     ┃         ┃       ┣━┳ MUL 
 44      ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 45      ┃     ┃         ┃       ┃ ┗━┳ ADD 
 46      ┃     ┃         ┃       ┃   ┣━┳ MUL 
 47      ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
 48      ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
 49      ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 50      ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 51      ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52      ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃     ┃         ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 54      ┃     ┃         ┃       ┗━┳ ADD 
 55      ┃     ┃         ┃         ┣━┳ MUL 
 56      ┃     ┃         ┃         ┃ ┣━┳ MUL 
 57      ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
 58      ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 59      ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 60      ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61      ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 62      ┃     ┃         ┃         ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 63      ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 64      ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 500  512   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 500  128   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 250  128   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 256  128   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64  128    4   16    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  128    4    4    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  64  128    4    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64  128    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  64   64    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   64    2    2   32    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2   32    2    2   32    2    4    2    4    4    2
testing ast 639
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 64, 1)
  7        ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1024), strides=(0, 1024, 1), offset=0, mask=None, contiguous=True),)))
  8        ┃ ┗━━ CONST ConstBuffer(val=3.814697265625e-06, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16 1024    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2 1024    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2 1024    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2 1024    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 1024    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4  256    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2  256    2    2    2    2    2    4
testing ast 640
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1, 1, 1), strides=(81920, 0, 64, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 1280, 8, 8, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1280, 1, 1), strides=(81920, 0, 0, 8, 1, 64, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1280, 1, 1), strides=(0, 0, 1280, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 1280, 8, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1280   64 1280
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2  320   64 1280    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 320   64 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 320   16    4 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160   16    4    2 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 160   16    4    2  320    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 160   16    2    2  320    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 160    8    2    2  320    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 160    8    2    2    8   40    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 160    8    2    8   40    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
 160    2    8    8   40    4    2    4    2    2    2
testing ast 641
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 4, 3, 3), strides=(0, 0, 36, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 13, 4, 13), strides=(324, 81, 0, 9, 0, 1), offset=-20, mask=((0, 2), (0, 4), (0, 4), (2, 11), (0, 4), (2, 11)), contiguous=False), View(shape=(2, 1, 4, 11, 11, 4, 3, 3), strides=(10816, 0, 0, 52, 1, 2704, 728, 14), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 11, 11, 4, 3, 3), strides=(484, 0, 121, 11, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    3    3    2   11   11
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    3    3    2    2   11   11
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    2    2   11   11    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2   11   11    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    2    2   11    2    4   11
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    3    2   11    2    4   11    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 642
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 1, 1, 80, 1, 1), strides=(0, 0, 80, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 480, 1, 1, 80, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 80, 1, 1), strides=(15680, 0, 0, 14, 1, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 480, 14, 14, 80, 1, 1), strides=(94080, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 480   80    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 120   80    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  60   80    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  60   40    2    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  60   40    2    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  30   40    2    2    2   49    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  10   40    2    2    2   49    4    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  10   64    2    2    2   49    4    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  10   64    2    2   49    4    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
  10    4    2   16    2   49    4    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  10    2    2   16    2    2   49    4    2    4    3    2
testing ast 643
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2048, 2048, 1), strides=(2048, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2048, 2048, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2048, 2048, 2048), strides=(2048, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2048, 2048, 2048), strides=(0, 1, 2048), offset=0, mask=None, contiguous=False),)))
2048 2048 2048
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
2048  512 2048    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
1024  512 2048    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
1024  128    4 2048    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 512  128    4    2 2048    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 512  128    4    2  512    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 512  128    2    2  512    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 512   64    2    2  512    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 512   64    2    2    4  128    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256   64    2    2    4  128    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256   64    2    2    4    8   16    4    2    4    2    2    2
testing ast 644
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
  2    ┗━┳ ADD 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ ADD 
  5      ┃ ┃ ┣━━ CONST ConstBuffer(val=0.1464405059814453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ MUL 
  9        ┣━┳ ADD 
 10        ┃ ┣━━ CONST ConstBuffer(val=0.1464405059814453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 3, 1, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  48
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  12    4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4   12
testing ast 645
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 192, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 192, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 192, 7, 7), strides=(9408, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.01020408163265306, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 192, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 192    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  64    2   49    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2    2   49    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2    2   49    3    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2   49    3    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   49    3    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   49    3    2    2    4    2    2
testing ast 646
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 784, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 128, 28, 28, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 512, 1, 1), strides=(0, 0, 0, 28, 1, 784, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 512, 1, 1), strides=(0, 0, 512, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 128, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 128  784  512
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
 128  784    8   64
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 128  196    8   64    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  64  196    8   64    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32  196    2    8   64    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32  196    2    2   64    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  32  196    2    2   16    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16  196    2    2    2   16    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  16   98    2    2    2   16    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  16   98    2    2    2    8    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.PADTO, axis=1, amt=32)]
  16  128    2    2    2    8    2    4    2    4    4    2
testing ast 647
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 256, 8, 8, 1, 1), strides=(16384, 64, 8, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (500, 256, 8, 8, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(500, 256, 8, 8, 2, 2), strides=(65536, 256, 32, 2, 16, 1), offset=0, mask=None, contiguous=False),)))
1024000    8    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4)]
1024000    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
1024000    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
1024000    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
512000    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
512000    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
512000    2    4    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
128000    2    4    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
64000    2    4    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
2000    2   32    4    2    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
2000   32    2    4    2    2    2    4    2
testing ast 648
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━━ CONST ConstBuffer(val=0.9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  5    ┗━┳ MUL 
  6      ┣━━ CONST ConstBuffer(val=0.10588235294117647, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┗━┳ MUL 
  8        ┣━┳ SUM (1, 16, 1, 1)
  9        ┃ ┗━┳ MUL 
 10        ┃   ┣━┳ SUB 
 11        ┃   ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 3, 3), strides=(144, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 12        ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃   ┗━┳ SUB 
 14        ┃     ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 3, 3), strides=(144, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
 15        ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 16, 3, 3), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16        ┗━━ CONST ConstBuffer(val=0.05555555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16    2    9
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2    9    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    9    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2    4    4    9
testing ast 649
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 64, 1), strides=(0, 64, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 8, 64, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 64, 77), strides=(0, 4928, 77, 1), offset=0, mask=None, contiguous=True),)))
 512   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  32   16   77
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    8   77    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   2   16   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    8    2   77    2    8
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    2   77    2    8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    2    2   77    2    8    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2   77    2    8    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   77    2    8    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 650
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 1), strides=(0, 768, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (1, 77, 768, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 768), strides=(0, 768, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
  77  768  768
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7)]
  11  768  768    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  11  384  768    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
  11  384  256    3    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  11   96  256    3    7    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  11   48  256    3    7    2    4    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 768), strides=(0, 768, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 768), strides=(0, 0, 768, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 77, 768, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 77, 768, 1), strides=(0, 768, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=0, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
COMPILE FAILED!!
testing ast 651
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 1), strides=(2048, 256, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ SUM (32, 8, 16, 16, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 64), strides=(8192, 1024, 64, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 64), strides=(8192, 1024, 0, 64, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 1), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16, 1), strides=(0, 0, 16, 1, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16   64
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
 256   16   16   32    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64   16   16   32    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   16   16   32    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32   16   16    8    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32   16   16    8    4    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   16   16    2    8    4    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   16   16    2    8    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    8   16    2    2    8    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    4   16    2    2    2    8    4    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   4    4   16    2    2    2    8    4    2    4    2    4
testing ast 652
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 1, 1), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MUL 
  3    ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 1, 1), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  4    ┃ ┗━┳ SUB 
  5    ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 1, 1), strides=(96, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  7    ┗━┳ SUM (2, 96, 1, 1)
  8      ┗━┳ MUL 
  9        ┣━┳ MUL 
 10        ┃ ┣━┳ ADD 
 11        ┃ ┃ ┣━┳ MUL 
 12        ┃ ┃ ┃ ┣━┳ MUL 
 13        ┃ ┃ ┃ ┃ ┣━┳ SUB 
 14        ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15        ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16        ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17        ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 18        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19        ┃ ┗━┳ DIV 
 20        ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21        ┃   ┗━┳ ADD 
 22        ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┃     ┗━┳ EXP2 
 24        ┃       ┗━┳ MUL 
 25        ┃         ┣━┳ ADD 
 26        ┃         ┃ ┣━┳ MUL 
 27        ┃         ┃ ┃ ┣━┳ MUL 
 28        ┃         ┃ ┃ ┃ ┣━┳ SUB 
 29        ┃         ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 30        ┃         ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 31        ┃         ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32        ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 33        ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34        ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35        ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 96, 56, 56), strides=(301056, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
   2   96 3136
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2    6   16 3136
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    6    8 3136    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    8 3136    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   6    4    2 3136    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    4    2    2 3136    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   3    4    2 3136    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   3    4 3136    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3 3136    2    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    4  784    2    2    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    4    4  196    2    2    2    2    4
testing ast 653
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ MAX (1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
   4
applied opts: [Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4
testing ast 654
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 1, 7, 9, 3, 3), strides=(2268, 0, 567, 0, 81, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 4, 1, 7, 9, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 4, 7, 9, 3, 3), strides=(0, 0, 36, 9, 0, 0, -3, -1), offset=8, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 4, 7, 9, 3, 3), strides=(252, 0, 0, 63, 9, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4   63    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   2    4   21    9    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    2   21    9    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   21    9    3    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2   32    9    3    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2    8    9    3    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    9    3    4    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    2    9    3    4    2    2    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2    2    9    4    2    2    4    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    9    2    4    2    2    4    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   9    2    2    4    2    2    4    2    2    3
testing ast 655
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 640, 32, 32, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1280, 1, 1), strides=(0, 0, 0, 32, 1, 1024, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1280, 1, 1), strides=(0, 0, 1280, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━┳ ADD 
  9      ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 640, 32, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 640 1024 1280
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 640  256 1280    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 320  256 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 320   64    4 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 160   64    4    2 1280    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 160   64    4    2  320    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 160   64    2    2  320    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 160   32    2    2  320    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
 160   32    2    2    4   80    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  80   32    2    2    4   80    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80   32    2    2    4    4   20    4    2    4    2    2    2
testing ast 656
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(9408, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (2, 1, 192, 7, 7, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 672, 1, 1), strides=(32928, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 672, 1, 1), strides=(0, 0, 1, 0, 0, 192, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SQRT 
 12    ┃   ┗━┳ DIV 
 13    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━┳ ADD 
 15    ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 192, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  192   49  672
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   48   49  672    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  48   49  672    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   6   49    8  672    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   6   49    8  168    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   6   49    8   42    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3   49    8    2   42    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   3   49    4    2   42    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   3   64    4    2   42    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3   64    2    2    2   42    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   3    8    2    2    2    8   42    4    2    4    4    2
testing ast 657
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 256, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 1280, 16, 16, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 640, 4, 18, 4, 18), strides=(0, 256, 0, 16, 0, 1), offset=-17, mask=((0, 1), (0, 640), (0, 4), (1, 17), (0, 4), (1, 17)), contiguous=False), View(shape=(1, 1, 1280, 16, 16, 640, 3, 3), strides=(0, 0, 0, 72, 1, 5184, 1368, 19), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 640, 3, 3), strides=(0, 0, 5760, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 16, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1280   16   16  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16)]
1280   16   16  640    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 320   16   16  640    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 160   16   16  640    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 160   16   16    8   80    3    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
 160   16   16    8   80    3    4    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 160   16   16    8   80    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80   16   16    2    8   80    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  80   16    8    2    2    8   80    4    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
  80   16    8    2    8   80    4    2    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96   16    8    2    8   80    4    2    3    3    2
testing ast 658
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 256, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━┳ SUB 
  5    ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  6    ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃   ┗━┳ SUB 
  8    ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(50176, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
  9    ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 256, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=0.002551020408163265, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256    2  196
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64    2  196    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2  196    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2  196    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2   49    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   49    4    2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
testing ast 659
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 8192 / 9216 (88.9%)
Max absolute difference: 97.
Max relative difference: 0.1058
 x: array([1016.5, 1047. , 1027. , ...,    0. ,    0. ,    0. ], dtype=float16)
 y: array([937.5, 979. , 956.5, ...,   0. ,   0. ,   0. ], dtype=float16)
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 9, 1, 1, 1), strides=(252, 0, 63, 9, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (2, 1, 4, 7, 9, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 9, 4, 11), strides=(324, 81, 0, 9, 0, 1), offset=-1, mask=((0, 2), (0, 4), (0, 4), (0, 9), (0, 4), (1, 10)), contiguous=False), View(shape=(2, 1, 4, 7, 9, 4, 3, 3), strides=(6336, 0, 0, 44, 1, 1584, 440, 12), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 9, 4, 3, 3), strides=(0, 0, 9, 0, 0, 36, -3, -1), offset=8, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 7, 9, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    4    7    9    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    2    7    9    2    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    7    9    2    4    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    9    2    4    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   7    9    2    4    3    2    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    9    2    3    2    2    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   7    3    2    3    2    2    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 660
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 2, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 4096, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 2, 32, 128), strides=(0, 128, 256, 1), offset=0, mask=None, contiguous=False), View(shape=(1, 2, 4096, 4096), strides=(0, 4096, 0, 1), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 2, 4096, 4096), strides=(0, 0, 4096, 1), offset=0, mask=None, contiguous=False),)))
   2 4096 4096
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   2 4096   32  128
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 2, 32, 128), strides=(0, 128, 256, 1), offset=0, mask=None, contiguous=False), View(shape=(1, 2, 4096, 4096), strides=(0, 4096, 0, 1), offset=0, mask=None, contiguous=False))))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 2, 4096, 4096), strides=(0, 0, 4096, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 2, 4096, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 2, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
COMPARE FAILED!!
testing ast 661
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 16), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 16)
  2    ┗━┳ MUL 
  3      ┣━┳ MUL 
  4      ┃ ┣━┳ SUB 
  5      ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(50176, 56, 1, 3136), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
  7      ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(3136, 56, 1, 0), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ ADD 
  9        ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(16, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
 10        ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 56, 56, 16), strides=(61504, 62, 1, 3844), offset=189, mask=None, contiguous=False),)))
  16    2   56   56
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    2   56   56    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   56   56    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4)]
   2   56   14    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  56   14    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   14   14    4    4    4    2
testing ast 662
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 3, 1, 1, 1), strides=(0, 0, 33, 3, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 6, 11, 3, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 3, 1, 1, 5), strides=(0, 0, 0, 7, 1, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 3, 1, 1, 5), strides=(0, 0, 5, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 11, 3, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6   11    3    5
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   6   11    5    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    5    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    3    6    5
testing ast 663
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=16896, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 664
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.uint, st=ShapeTracker(views=(View(shape=(2, 2, 1), strides=(2, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 2, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.uint, st=ShapeTracker(views=(View(shape=(2, 2, 2), strides=(2, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.uint, st=ShapeTracker(views=(View(shape=(2, 3), strides=(0, 0), offset=0, mask=((0, 2), (0, 1)), contiguous=False), View(shape=(2, 2, 2), strides=(0, 1, 2), offset=0, mask=None, contiguous=False))))
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    2
testing ast 665
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 1), strides=(128, 16, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 8, 16, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(128, 16, 4096, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=0.125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 8, 16, 16), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256   16   16
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256    4   16    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   16    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 256    8    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 256    2    2    4    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256    2    4    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 256    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64    4    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4    4   16    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2   16    2    4    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    2    2    4    4    4    2    2
testing ast 666
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(15680, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (2, 1, 80, 14, 14, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 480, 1, 1), strides=(94080, 0, 0, 14, 1, 196, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 480, 1, 1), strides=(0, 0, 1, 0, 0, 80, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 80, 14, 14, 1, 1, 1), strides=(15680, 0, 196, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
   2   80  196  480
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   20  196  480    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  20  196  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   5  196    4  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5   98    4    2  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5   49    4    2    2  480    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   5   49    4    2  480    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   5   64    4    2  480    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   5   32    4    2  480    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   5   32    4    2    8   60    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   5   32    2    8   60    4    2    2    2    4
testing ast 667
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 28, 1, 1), strides=(1232, 616, 28, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 22, 28, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 22, 28, 5, 1), strides=(6160, 3080, 140, 1, 28, 0), offset=0, mask=None, contiguous=False),)))
1408   28    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8)]
 176   28    8    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 176   28    4    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 176   28    5    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  11   28   16    5    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
  11    4   16    5    2    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
  11    4    4    5    2    4    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  11    4    2    2    5    2    4    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  11    4    2    2    5    2    4    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11    2    2    2    2    5    2    4    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  11    2    2    2    2    5    2    4    7    4
testing ast 668
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 1, 1, 1, 1, 1, 6, 5, 3, 4), strides=(0, 360, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 1, 1, 1, 1, 1, 6, 5, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 1, 6, 5, 3, 4), strides=(2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 1, 1, 1, 1, 1, 6, 5, 3, 4), strides=(1800, 0, 0, 0, 0, 0, 0, 60, 12, 4, 1), offset=360, mask=None, contiguous=False),)))
   2  360    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32)]
   2  384    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2  192    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 192    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  96    2    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24    2    2    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   6    2    2    2    2    4    4
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    2    2    2    4    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    2    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    2    4    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 669
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 1, 1, 6), strides=(54, 6, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 9, 1, 1, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 6), strides=(0, 0, 12, 6, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 6), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  27    6    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
  27    6    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  27    3    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  27    4    2    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  27    2    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   9    2    3    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    2    3    4    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    3    4    3    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 670
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 197, 1), strides=(0, 197, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 3, 197, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 197, 197), strides=(0, 38809, 197, 1), offset=0, mask=None, contiguous=True),)))
 591  197
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
 608  197
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 304  197    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 152  197    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 160  197    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  80    2  197    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  40    2    2  197    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  10    2    2  197    2    2    4
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  10    2  197    2    2    4    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  10  197    2    2    4    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5  197    2    2    4    2    2    2
testing ast 671
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 5, 26, 3, 3), strides=(3510, 0, 1170, 0, 234, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 5, 26, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 4, 5, 26, 3, 3), strides=(0, 0, 9, 27, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 4, 5, 26, 3, 3), strides=(520, 0, 0, 130, 26, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3  130    9    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   3  130    9    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   3  130    9    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 130    9    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  65    9    2    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  65    9    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
  65    3    2    4    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
  65    2    3    4    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  65    3    2    4    3    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 672
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 512   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 16384 / 17408 (94.1%)
Max absolute difference: 781.
Max relative difference: 0.4065
 x: array([2770., 2742., 2780., ...,    0.,    0.,    0.], dtype=float16)
 y: array([2044., 2048., 2048., ...,    0.,    0.,    0.], dtype=float16)
  64   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  16    4   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4    4   10    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2   10    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   10    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4   10    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2   10    4    2    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 673
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  3    ┗━┳ SUM (1, 4, 4096, 1)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 11008), strides=(0, 11008, 0, 1), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 11008), strides=(0, 0, 11008, 1), offset=0, mask=None, contiguous=False),)))
   4 4096 11008
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   4 4096   16  688
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))), LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 11008), strides=(0, 11008, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 11008), strides=(0, 0, 11008, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 4, 4096, 1))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
COMPARE FAILED!!
testing ast 674
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 320, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 320, 1, 1)
  2    ┗━┳ NEG 
  3      ┗━┳ MUL 
  4        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ MUL 
  6          ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7          ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 320, 7, 7), strides=(15680, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
 320    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  80    2   49    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  40    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   5    8    2   49    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    8   49    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   5   49    4    2    2    8
testing ast 675
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 144, 1, 1)
  3    ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
  4    ┗━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 144    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
 144   16    2  196
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  48   16    2  196    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  24   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    4    2  196    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32    4  196    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   8    4    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    4    2    4   49    3    2    4    2    4
testing ast 676
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 672, 1, 1, 1, 1, 5, 5), strides=(0, 25, 0, 0, 0, 0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 672, 1, 1, 1, 1, 5, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 6, 18, 6, 18), strides=(131712, 196, 0, 14, 0, 1), offset=-30, mask=((0, 2), (0, 672), (0, 6), (2, 16), (0, 6), (2, 16)), contiguous=False), View(shape=(2, 672, 1, 14, 14, 1, 5, 5), strides=(7838208, 11664, 0, 108, 1, 0, 2052, 19), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 672, 1, 14, 14, 1, 5, 5), strides=(131712, 196, 0, 14, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 672    5    5    2   14   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
 224    5    5    3    2   14   14
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 224    5    3    2   14   14    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 224    3    2   14   14    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 224    3   14   14    5    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 112    3    2   14   14    5    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  28    3    2   14   14    5    5    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 677
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 112, 1, 14, 14, 1, 1), strides=(21952, 0, 196, 0, 14, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 112, 1, 14, 14, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 112, 672, 14, 14, 1, 1), strides=(0, 0, 1, 112, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 112, 672, 14, 14, 1, 1), strides=(131712, 0, 0, 196, 14, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  112  196  672
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   2  112  196    8   84
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
   2   28  196    8   84    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  28  196    8   84    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
  28  196    8   21    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  28   49    8   21    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  14   49    2    8   21    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   7   49    2    8   21    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 678
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 1, 1, 1), strides=(0, 0, 18300, 122, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 64, 150, 122, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 32, 3, 3), strides=(0, 0, 0, 124, 1, 18848, 124, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ MUL 
 12      ┃ ┣━━ CONST ConstBuffer(val=-0.1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ ADD 
 14      ┃   ┣━┳ SUM (1, 1, 64, 150, 122, 1, 1, 1)
 15      ┃   ┃ ┗━┳ MUL 
 16      ┃   ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 32, 3, 3), strides=(0, 0, 0, 124, 1, 18848, 124, 1), offset=0, mask=None, contiguous=False),)))
 17      ┃   ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 1, 3), offset=0, mask=None, contiguous=False),)))
 18      ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 150, 122, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64  150  122   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2  150  122   32   32    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   2  150  122   16   32    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 150  122   16   32    3    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 150  122   16    8    3    3    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 150  122   16    8    3    2    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  75  122   16    2    8    3    2    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4)]
  75  122    4    2    8    3    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  75  122    2    2    2    8    3    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
  75  122    2    2    2    8    3    2    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  75   61    2    2    2    2    8    3    2    2    4    3    4
testing ast 679
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(8, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (8, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(9, 15), strides=(0, 0), offset=0, mask=((0, 9), (7, 15)), contiguous=False), View(shape=(8, 8), strides=(1, 16), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(8, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   8    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4    4    2
testing ast 680
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 128, 16, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 480, 8, 16, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 80, 1, 1), strides=(0, 0, 0, 16, 1, 128, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 80, 1, 1), strides=(0, 0, 80, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 1, 480, 8, 16, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 80, 1, 1), strides=(0, 0, 0, 16, 1, 128, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 80, 1, 1), strides=(0, 0, 80, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 480, 8, 16, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 480  128   80
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 120  128   80    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  60  128   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  20  128    3   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  20   64    3    2   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  10   64    3    2    2   80    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  10   32    3    2    2   80    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5   32    3    2    2   80    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   5   32    3    2   80    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   5    4    3    2    8   80    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   5    4    3    2    8   20    4    2    2    2    2    4
testing ast 681
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 1), strides=(0, 13, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1, 16, 13, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 13, 13), strides=(0, 169, 13, 1), offset=0, mask=None, contiguous=True),)))
 208   13
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  52   13    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  26   13    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   13    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4   13    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2   13    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2   13    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   13    4    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=13)]
   2   13    4    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUPTOP, axis=0, amt=13), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13    4    2    2    4    2    2
testing ast 682
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ LOG2 
  3    ┃ ┗━┳ SUM (1, 1)
  4    ┃   ┗━┳ EXP2 
  5    ┃     ┗━┳ MUL 
  6    ┃       ┣━┳ SUB 
  7    ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  8    ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃       ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1000), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━━ CONST ConstBuffer(val=0.6931471805599453, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1), strides=(0, 0), offset=0, mask=None, contiguous=True),)))
1000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  125
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 125    8
testing ast 683
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 144, 56, 56, 1, 1, 1), strides=(451584, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 144, 56, 56, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 144, 56, 56, 24, 1, 1), strides=(75264, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 144, 56, 56, 24, 1, 1), strides=(0, 0, 24, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  144 3136   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2  144 3136    4    6
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2   48 3136    4    6    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  48 3136    4    6    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  48 3136    6    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  24 3136    2    6    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  24 3136    2    3    2    4    6
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 684
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1000, 1024, 1), strides=(1024, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1000, 1024, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1000, 1024, 1024), strides=(1024, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1000, 1024, 1024), strides=(0, 1024, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1000, 1024, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1000, 1024, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
1000 1024 1024
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
1000  256 1024    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 500  256 1024    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 500   64    4 1024    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 250   64    4    2 1024    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 125   64    4    2    2 1024    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 125   64    2    2    2 1024    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 125   32    2    2    2 1024    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8)]
 125   32    2    2    2    8  128    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
 125   32    2    2    8  128    4    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 125    8    2    2    4    8  128    4    2    2    2    2
testing ast 685
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1, 1, 1, 1, 64, 4, 1, 1), strides=(0, 256, 0, 0, 0, 0, 0, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 256, 1, 1, 1, 1, 1, 64, 4, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1, 1, 64, 4, 64, 4, 1, 1), strides=(0, 0, 0, 0, 0, 1024, 1, 16, 4, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 256, 1, 1, 1, 64, 4, 64, 4, 1, 1), strides=(0, 256, 0, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 256  256   64    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
 256   64   64    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 128   64   64    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128   32    2   64    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 128   32    2   64    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128   16    2    2   64    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   16    2    2   64    4    2    4    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32    8    2    2   64    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  32    8    2    2   32    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  32    8    2    2   32    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 686
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 12544, 112, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 96, 112, 112, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 16, 1, 1), strides=(0, 0, 0, 112, 1, 12544, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 16, 1, 1), strides=(0, 0, 16, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━┳ DIV 
 20      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┗━┳ ADD 
 22        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┗━┳ EXP2 
 24          ┗━┳ MUL 
 25            ┣━┳ ADD 
 26            ┃ ┣━┳ MUL 
 27            ┃ ┃ ┣━┳ MUL 
 28            ┃ ┃ ┃ ┣━┳ SUB 
 29            ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 96, 112, 112, 1, 1, 1)
 30            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 31            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 16, 1, 1), strides=(0, 0, 0, 112, 1, 12544, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 16, 1, 1), strides=(0, 0, 16, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┗━┳ SQRT 
 36            ┃ ┃   ┗━┳ DIV 
 37            ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38            ┃ ┃     ┗━┳ ADD 
 39            ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 96, 112, 112, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  96 12544   16
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
  96 12544    8    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24 12544    8    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  12 12544    8    2    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  12 12544    2    2    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   3 12544    2    2    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3 6272    2    2    2    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3 6272    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   3  392    2   16    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3  392   16    2    2    4    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=16)]
testing ast 687
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 8, 5), strides=(0, 40, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 8, 5), strides=(0, 8, 1, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (1, 3, 8, 5)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 8, 5), strides=(3, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 8, 5), strides=(40, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
   3    8    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   3    5    8    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    8    4    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8    4    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    5    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    5    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
testing ast 688
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.0001220703125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 512, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ ADD 
 15      ┃ ┃   ┃     ┣━┳ ADD 
 16      ┃ ┃   ┃     ┃ ┣━┳ ADD 
 17      ┃ ┃   ┃     ┃ ┃ ┣━┳ MUL 
 18      ┃ ┃   ┃     ┃ ┃ ┃ ┣━┳ MUL 
 19      ┃ ┃   ┃     ┃ ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┃   ┃     ┃ ┃ ┃ ┃ ┗━┳ ADD 
 21      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┣━┳ MUL 
 22      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┃ ┣━┳ MUL 
 23      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
 24      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 25      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 26      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃     ┃ ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃ ┃   ┃     ┃ ┃ ┃ ┗━┳ MUL 
 30      ┃ ┃   ┃     ┃ ┃ ┃   ┣━┳ MUL 
 31      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┣━┳ ADD 
 32      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
 33      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┃ ┣━┳ MUL 
 34      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 35      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 36      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 39      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40      ┃ ┃   ┃     ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41      ┃ ┃   ┃     ┃ ┃ ┃   ┗━┳ MUL 
 42      ┃ ┃   ┃     ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43      ┃ ┃   ┃     ┃ ┃ ┃     ┗━┳ MUL 
 44      ┃ ┃   ┃     ┃ ┃ ┃       ┣━┳ MUL 
 45      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┣━┳ DIV 
 46      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 47      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃ ┗━┳ ADD 
 48      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 49      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃   ┗━┳ EXP2 
 50      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
 51      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┣━┳ MUL 
 52      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃ ┗━┳ MUL 
 54      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┣━┳ MUL 
 55      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┣━┳ ADD 
 56      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
 57      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
 58      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
 59      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 60      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 61      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 62      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 63      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 64      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 65      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃   ┗━┳ ADD 
 66      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 67      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃     ┗━┳ MUL 
 68      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┣━┳ MUL 
 69      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃ ┗━┳ ADD 
 71      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┣━┳ MUL 
 72      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
 73      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
 74      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 75      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 76      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 77      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 78      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 79      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃       ┗━┳ ADD 
 80      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┣━┳ MUL 
 81      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┣━┳ MUL 
 82      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
 83      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
 84      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 85      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 86      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 87      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 88      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 89      ┃ ┃   ┃     ┃ ┃ ┃       ┃ ┗━┳ SUB 
 90      ┃ ┃   ┃     ┃ ┃ ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 91      ┃ ┃   ┃     ┃ ┃ ┃       ┃   ┗━┳ DIV 
 92      ┃ ┃   ┃     ┃ ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 93      ┃ ┃   ┃     ┃ ┃ ┃       ┃     ┗━┳ ADD 
 94      ┃ ┃   ┃     ┃ ┃ ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 95      ┃ ┃   ┃     ┃ ┃ ┃       ┃       ┗━┳ EXP2 
 96      ┃ ┃   ┃     ┃ ┃ ┃       ┃         ┗━┳ MUL 
 97      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┣━┳ MUL 
 98      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 99      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃ ┗━┳ MUL 
100      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┣━┳ MUL 
101      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┣━┳ ADD 
102      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┣━┳ MUL 
103      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
104      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
105      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
106      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
107      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
108      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
109      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
110      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
111      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃   ┗━┳ ADD 
112      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
113      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃     ┗━┳ MUL 
114      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┣━┳ MUL 
115      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
116      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃ ┗━┳ ADD 
117      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┣━┳ MUL 
118      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┣━┳ MUL 
119      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
120      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
121      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
122      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
123      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
124      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
125      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃       ┗━┳ ADD 
126      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┣━┳ MUL 
127      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┃ ┣━┳ MUL 
128      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┣━┳ SUB 
129      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
130      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
131      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
132      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
133      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
134      ┃ ┃   ┃     ┃ ┃ ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
135      ┃ ┃   ┃     ┃ ┃ ┃       ┗━┳ MUL 
136      ┃ ┃   ┃     ┃ ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
137      ┃ ┃   ┃     ┃ ┃ ┃         ┗━┳ MUL 
138      ┃ ┃   ┃     ┃ ┃ ┃           ┣━┳ MUL 
139      ┃ ┃   ┃     ┃ ┃ ┃           ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
140      ┃ ┃   ┃     ┃ ┃ ┃           ┃ ┗━┳ ADD 
141      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┣━┳ MUL 
142      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┃ ┣━┳ MUL 
143      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┃ ┃ ┣━┳ SUB 
144      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
145      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
146      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
147      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
148      ┃ ┃   ┃     ┃ ┃ ┃           ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
149      ┃ ┃   ┃     ┃ ┃ ┃           ┗━┳ ADD 
150      ┃ ┃   ┃     ┃ ┃ ┃             ┣━┳ MUL 
151      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┣━┳ DIV 
152      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┣━┳ CAST (dtypes.float, False)
153      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃ ┗━┳ CMPEQ 
154      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┣━┳ ADD 
155      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┣━┳ MUL 
156      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
157      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
158      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
159      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
160      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
161      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
162      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
163      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
164      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
165      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
166      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
167      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
168      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
169      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
170      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
171      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
172      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
173      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
174      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
175      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
176      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
177      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
178      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
179      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
180      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
181      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
182      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
183      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
184      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
185      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
186      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
187      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
188      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
189      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
190      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
191      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
192      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
193      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
194      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
195      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
196      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
197      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
198      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
199      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
200      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
201      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
202      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
203      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
204      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
205      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
206      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
207      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
208      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
209      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
210      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
211      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
212      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
213      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
214      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
215      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
216      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
217      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
218      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
219      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
220      ┃ ┃   ┃     ┃ ┃ ┃             ┃ ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
221      ┃ ┃   ┃     ┃ ┃ ┃             ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
222      ┃ ┃   ┃     ┃ ┃ ┗━┳ MUL 
223      ┃ ┃   ┃     ┃ ┃   ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
224      ┃ ┃   ┃     ┃ ┃   ┗━┳ MUL 
225      ┃ ┃   ┃     ┃ ┃     ┣━┳ ADD 
226      ┃ ┃   ┃     ┃ ┃     ┃ ┣━┳ MUL 
227      ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┣━┳ MUL 
228      ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┣━┳ SUB 
229      ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
230      ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
231      ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
232      ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
233      ┃ ┃   ┃     ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
234      ┃ ┃   ┃     ┃ ┃     ┗━┳ MUL 
235      ┃ ┃   ┃     ┃ ┃       ┣━┳ MUL 
236      ┃ ┃   ┃     ┃ ┃       ┃ ┣━┳ ADD 
237      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┣━┳ MUL 
238      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┣━┳ MUL 
239      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┣━┳ SUB 
240      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
241      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
242      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
243      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
244      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
245      ┃ ┃   ┃     ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
246      ┃ ┃   ┃     ┃ ┃       ┗━┳ MUL 
247      ┃ ┃   ┃     ┃ ┃         ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
248      ┃ ┃   ┃     ┃ ┃         ┗━┳ MUL 
249      ┃ ┃   ┃     ┃ ┃           ┣━┳ MUL 
250      ┃ ┃   ┃     ┃ ┃           ┃ ┣━┳ DIV 
251      ┃ ┃   ┃     ┃ ┃           ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
252      ┃ ┃   ┃     ┃ ┃           ┃ ┃ ┗━┳ ADD 
253      ┃ ┃   ┃     ┃ ┃           ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
254      ┃ ┃   ┃     ┃ ┃           ┃ ┃   ┗━┳ EXP2 
255      ┃ ┃   ┃     ┃ ┃           ┃ ┃     ┗━┳ MUL 
256      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┣━┳ MUL 
257      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
258      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃ ┗━┳ MUL 
259      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┣━┳ MUL 
260      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┣━┳ ADD 
261      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
262      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
263      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
264      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
265      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
266      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
267      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
268      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
269      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
270      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃   ┗━┳ ADD 
271      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
272      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃     ┗━┳ MUL 
273      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┣━┳ MUL 
274      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
275      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃ ┗━┳ ADD 
276      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┣━┳ MUL 
277      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
278      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
279      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
280      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
281      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
282      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
283      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
284      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃       ┗━┳ ADD 
285      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┣━┳ MUL 
286      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┃ ┣━┳ MUL 
287      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
288      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
289      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
290      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
291      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
292      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
293      ┃ ┃   ┃     ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
294      ┃ ┃   ┃     ┃ ┃           ┃ ┗━┳ SUB 
295      ┃ ┃   ┃     ┃ ┃           ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
296      ┃ ┃   ┃     ┃ ┃           ┃   ┗━┳ DIV 
297      ┃ ┃   ┃     ┃ ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
298      ┃ ┃   ┃     ┃ ┃           ┃     ┗━┳ ADD 
299      ┃ ┃   ┃     ┃ ┃           ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
300      ┃ ┃   ┃     ┃ ┃           ┃       ┗━┳ EXP2 
301      ┃ ┃   ┃     ┃ ┃           ┃         ┗━┳ MUL 
302      ┃ ┃   ┃     ┃ ┃           ┃           ┣━┳ MUL 
303      ┃ ┃   ┃     ┃ ┃           ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
304      ┃ ┃   ┃     ┃ ┃           ┃           ┃ ┗━┳ MUL 
305      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┣━┳ MUL 
306      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┣━┳ ADD 
307      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┣━┳ MUL 
308      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
309      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
310      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
311      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
312      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
313      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
314      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
315      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
316      ┃ ┃   ┃     ┃ ┃           ┃           ┃   ┗━┳ ADD 
317      ┃ ┃   ┃     ┃ ┃           ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
318      ┃ ┃   ┃     ┃ ┃           ┃           ┃     ┗━┳ MUL 
319      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┣━┳ MUL 
320      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
321      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃ ┗━┳ ADD 
322      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┣━┳ MUL 
323      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┃ ┣━┳ MUL 
324      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
325      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
326      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
327      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
328      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
329      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
330      ┃ ┃   ┃     ┃ ┃           ┃           ┃       ┗━┳ ADD 
331      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┣━┳ MUL 
332      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┃ ┣━┳ MUL 
333      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┃ ┃ ┣━┳ SUB 
334      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
335      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
336      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
337      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
338      ┃ ┃   ┃     ┃ ┃           ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
339      ┃ ┃   ┃     ┃ ┃           ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
340      ┃ ┃   ┃     ┃ ┃           ┗━┳ MUL 
341      ┃ ┃   ┃     ┃ ┃             ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
342      ┃ ┃   ┃     ┃ ┃             ┗━┳ MUL 
343      ┃ ┃   ┃     ┃ ┃               ┣━┳ MUL 
344      ┃ ┃   ┃     ┃ ┃               ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
345      ┃ ┃   ┃     ┃ ┃               ┃ ┗━┳ ADD 
346      ┃ ┃   ┃     ┃ ┃               ┃   ┣━┳ MUL 
347      ┃ ┃   ┃     ┃ ┃               ┃   ┃ ┣━┳ MUL 
348      ┃ ┃   ┃     ┃ ┃               ┃   ┃ ┃ ┣━┳ SUB 
349      ┃ ┃   ┃     ┃ ┃               ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
350      ┃ ┃   ┃     ┃ ┃               ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
351      ┃ ┃   ┃     ┃ ┃               ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
352      ┃ ┃   ┃     ┃ ┃               ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
353      ┃ ┃   ┃     ┃ ┃               ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
354      ┃ ┃   ┃     ┃ ┃               ┗━┳ ADD 
355      ┃ ┃   ┃     ┃ ┃                 ┣━┳ MUL 
356      ┃ ┃   ┃     ┃ ┃                 ┃ ┣━┳ DIV 
357      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┣━┳ CAST (dtypes.float, False)
358      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃ ┗━┳ CMPEQ 
359      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┣━┳ ADD 
360      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┣━┳ MUL 
361      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
362      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
363      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
364      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
365      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
366      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
367      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
368      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
369      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
370      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
371      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
372      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
373      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
374      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
375      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
376      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
377      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
378      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
379      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
380      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
381      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
382      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
383      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
384      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
385      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
386      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
387      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
388      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
389      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
390      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
391      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
392      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
393      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
394      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
395      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
396      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
397      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
398      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
399      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
400      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
401      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
402      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
403      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
404      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
405      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
406      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
407      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
408      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
409      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
410      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
411      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
412      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
413      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
414      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
415      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
416      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
417      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
418      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
419      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
420      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
421      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
422      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
423      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
424      ┃ ┃   ┃     ┃ ┃                 ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
425      ┃ ┃   ┃     ┃ ┃                 ┃ ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
426      ┃ ┃   ┃     ┃ ┃                 ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
427      ┃ ┃   ┃     ┃ ┗━┳ MUL 
428      ┃ ┃   ┃     ┃   ┣━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
429      ┃ ┃   ┃     ┃   ┗━┳ MUL 
430      ┃ ┃   ┃     ┃     ┣━┳ ADD 
431      ┃ ┃   ┃     ┃     ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
432      ┃ ┃   ┃     ┃     ┃ ┗━┳ MUL 
433      ┃ ┃   ┃     ┃     ┃   ┣━┳ MUL 
434      ┃ ┃   ┃     ┃     ┃   ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
435      ┃ ┃   ┃     ┃     ┃   ┃ ┗━┳ ADD 
436      ┃ ┃   ┃     ┃     ┃   ┃   ┣━┳ MUL 
437      ┃ ┃   ┃     ┃     ┃   ┃   ┃ ┣━┳ MUL 
438      ┃ ┃   ┃     ┃     ┃   ┃   ┃ ┃ ┣━┳ SUB 
439      ┃ ┃   ┃     ┃     ┃   ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
440      ┃ ┃   ┃     ┃     ┃   ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
441      ┃ ┃   ┃     ┃     ┃   ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
442      ┃ ┃   ┃     ┃     ┃   ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
443      ┃ ┃   ┃     ┃     ┃   ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
444      ┃ ┃   ┃     ┃     ┃   ┗━┳ ADD 
445      ┃ ┃   ┃     ┃     ┃     ┣━┳ MUL 
446      ┃ ┃   ┃     ┃     ┃     ┃ ┣━┳ MUL 
447      ┃ ┃   ┃     ┃     ┃     ┃ ┃ ┣━┳ SUB 
448      ┃ ┃   ┃     ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
449      ┃ ┃   ┃     ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
450      ┃ ┃   ┃     ┃     ┃     ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
451      ┃ ┃   ┃     ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
452      ┃ ┃   ┃     ┃     ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
453      ┃ ┃   ┃     ┃     ┗━┳ MUL 
454      ┃ ┃   ┃     ┃       ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
455      ┃ ┃   ┃     ┃       ┗━┳ MUL 
456      ┃ ┃   ┃     ┃         ┣━┳ MUL 
457      ┃ ┃   ┃     ┃         ┃ ┣━┳ DIV 
458      ┃ ┃   ┃     ┃         ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
459      ┃ ┃   ┃     ┃         ┃ ┃ ┗━┳ ADD 
460      ┃ ┃   ┃     ┃         ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
461      ┃ ┃   ┃     ┃         ┃ ┃   ┗━┳ EXP2 
462      ┃ ┃   ┃     ┃         ┃ ┃     ┗━┳ MUL 
463      ┃ ┃   ┃     ┃         ┃ ┃       ┣━┳ MUL 
464      ┃ ┃   ┃     ┃         ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
465      ┃ ┃   ┃     ┃         ┃ ┃       ┃ ┗━┳ MUL 
466      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┣━┳ MUL 
467      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┣━┳ ADD 
468      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┣━┳ MUL 
469      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ MUL 
470      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
471      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
472      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
473      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
474      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
475      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
476      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
477      ┃ ┃   ┃     ┃         ┃ ┃       ┃   ┗━┳ ADD 
478      ┃ ┃   ┃     ┃         ┃ ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
479      ┃ ┃   ┃     ┃         ┃ ┃       ┃     ┗━┳ MUL 
480      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┣━┳ MUL 
481      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
482      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃ ┗━┳ ADD 
483      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┣━┳ MUL 
484      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┃ ┣━┳ MUL 
485      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┣━┳ SUB 
486      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
487      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
488      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
489      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
490      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
491      ┃ ┃   ┃     ┃         ┃ ┃       ┃       ┗━┳ ADD 
492      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┣━┳ MUL 
493      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┃ ┣━┳ MUL 
494      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┃ ┃ ┣━┳ SUB 
495      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
496      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
497      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
498      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
499      ┃ ┃   ┃     ┃         ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
500      ┃ ┃   ┃     ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
501      ┃ ┃   ┃     ┃         ┃ ┗━┳ SUB 
502      ┃ ┃   ┃     ┃         ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
503      ┃ ┃   ┃     ┃         ┃   ┗━┳ DIV 
504      ┃ ┃   ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
505      ┃ ┃   ┃     ┃         ┃     ┗━┳ ADD 
506      ┃ ┃   ┃     ┃         ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
507      ┃ ┃   ┃     ┃         ┃       ┗━┳ EXP2 
508      ┃ ┃   ┃     ┃         ┃         ┗━┳ MUL 
509      ┃ ┃   ┃     ┃         ┃           ┣━┳ MUL 
510      ┃ ┃   ┃     ┃         ┃           ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
511      ┃ ┃   ┃     ┃         ┃           ┃ ┗━┳ MUL 
512      ┃ ┃   ┃     ┃         ┃           ┃   ┣━┳ MUL 
513      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┣━┳ ADD 
514      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┣━┳ MUL 
515      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┃ ┣━┳ MUL 
516      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
517      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
518      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
519      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
520      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
521      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
522      ┃ ┃   ┃     ┃         ┃           ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
523      ┃ ┃   ┃     ┃         ┃           ┃   ┗━┳ ADD 
524      ┃ ┃   ┃     ┃         ┃           ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
525      ┃ ┃   ┃     ┃         ┃           ┃     ┗━┳ MUL 
526      ┃ ┃   ┃     ┃         ┃           ┃       ┣━┳ MUL 
527      ┃ ┃   ┃     ┃         ┃           ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
528      ┃ ┃   ┃     ┃         ┃           ┃       ┃ ┗━┳ ADD 
529      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┣━┳ MUL 
530      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┃ ┣━┳ MUL 
531      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┃ ┃ ┣━┳ SUB 
532      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
533      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
534      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
535      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
536      ┃ ┃   ┃     ┃         ┃           ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
537      ┃ ┃   ┃     ┃         ┃           ┃       ┗━┳ ADD 
538      ┃ ┃   ┃     ┃         ┃           ┃         ┣━┳ MUL 
539      ┃ ┃   ┃     ┃         ┃           ┃         ┃ ┣━┳ MUL 
540      ┃ ┃   ┃     ┃         ┃           ┃         ┃ ┃ ┣━┳ SUB 
541      ┃ ┃   ┃     ┃         ┃           ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
542      ┃ ┃   ┃     ┃         ┃           ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
543      ┃ ┃   ┃     ┃         ┃           ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
544      ┃ ┃   ┃     ┃         ┃           ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
545      ┃ ┃   ┃     ┃         ┃           ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
546      ┃ ┃   ┃     ┃         ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
547      ┃ ┃   ┃     ┃         ┗━┳ MUL 
548      ┃ ┃   ┃     ┃           ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
549      ┃ ┃   ┃     ┃           ┗━┳ MUL 
550      ┃ ┃   ┃     ┃             ┣━┳ MUL 
551      ┃ ┃   ┃     ┃             ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
552      ┃ ┃   ┃     ┃             ┃ ┗━┳ ADD 
553      ┃ ┃   ┃     ┃             ┃   ┣━┳ MUL 
554      ┃ ┃   ┃     ┃             ┃   ┃ ┣━┳ MUL 
555      ┃ ┃   ┃     ┃             ┃   ┃ ┃ ┣━┳ SUB 
556      ┃ ┃   ┃     ┃             ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
557      ┃ ┃   ┃     ┃             ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
558      ┃ ┃   ┃     ┃             ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
559      ┃ ┃   ┃     ┃             ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
560      ┃ ┃   ┃     ┃             ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
561      ┃ ┃   ┃     ┃             ┗━┳ ADD 
562      ┃ ┃   ┃     ┃               ┣━┳ MUL 
563      ┃ ┃   ┃     ┃               ┃ ┣━┳ DIV 
564      ┃ ┃   ┃     ┃               ┃ ┃ ┣━┳ CAST (dtypes.float, False)
565      ┃ ┃   ┃     ┃               ┃ ┃ ┃ ┗━┳ CMPEQ 
566      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┣━┳ ADD 
567      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┣━┳ MUL 
568      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
569      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
570      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
571      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
572      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
573      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
574      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
575      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
576      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
577      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
578      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
579      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
580      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
581      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
582      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
583      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
584      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
585      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
586      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
587      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
588      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
589      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
590      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
591      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
592      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
593      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
594      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
595      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
596      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
597      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
598      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
599      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
600      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
601      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
602      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
603      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
604      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
605      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
606      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
607      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
608      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
609      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
610      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
611      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
612      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
613      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
614      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
615      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
616      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
617      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
618      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
619      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
620      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
621      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
622      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
623      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
624      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
625      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
626      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
627      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
628      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
629      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
630      ┃ ┃   ┃     ┃               ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
631      ┃ ┃   ┃     ┃               ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
632      ┃ ┃   ┃     ┃               ┃ ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
633      ┃ ┃   ┃     ┃               ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
634      ┃ ┃   ┃     ┗━┳ MUL 
635      ┃ ┃   ┃       ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
636      ┃ ┃   ┃       ┗━┳ MUL 
637      ┃ ┃   ┃         ┣━┳ ADD 
638      ┃ ┃   ┃         ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
639      ┃ ┃   ┃         ┃ ┗━┳ SUB 
640      ┃ ┃   ┃         ┃   ┣━┳ MUL 
641      ┃ ┃   ┃         ┃   ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
642      ┃ ┃   ┃         ┃   ┃ ┗━┳ DIV 
643      ┃ ┃   ┃         ┃   ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
644      ┃ ┃   ┃         ┃   ┃   ┗━┳ ADD 
645      ┃ ┃   ┃         ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
646      ┃ ┃   ┃         ┃   ┃     ┗━┳ EXP2 
647      ┃ ┃   ┃         ┃   ┃       ┗━┳ MUL 
648      ┃ ┃   ┃         ┃   ┃         ┣━┳ MUL 
649      ┃ ┃   ┃         ┃   ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
650      ┃ ┃   ┃         ┃   ┃         ┃ ┗━┳ MUL 
651      ┃ ┃   ┃         ┃   ┃         ┃   ┣━┳ MUL 
652      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┣━┳ ADD 
653      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┣━┳ MUL 
654      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
655      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
656      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
657      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
658      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
659      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
660      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
661      ┃ ┃   ┃         ┃   ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
662      ┃ ┃   ┃         ┃   ┃         ┃   ┗━┳ ADD 
663      ┃ ┃   ┃         ┃   ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
664      ┃ ┃   ┃         ┃   ┃         ┃     ┗━┳ MUL 
665      ┃ ┃   ┃         ┃   ┃         ┃       ┣━┳ MUL 
666      ┃ ┃   ┃         ┃   ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
667      ┃ ┃   ┃         ┃   ┃         ┃       ┃ ┗━┳ ADD 
668      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┣━┳ MUL 
669      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┃ ┣━┳ MUL 
670      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
671      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
672      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
673      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
674      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
675      ┃ ┃   ┃         ┃   ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
676      ┃ ┃   ┃         ┃   ┃         ┃       ┗━┳ ADD 
677      ┃ ┃   ┃         ┃   ┃         ┃         ┣━┳ MUL 
678      ┃ ┃   ┃         ┃   ┃         ┃         ┃ ┣━┳ MUL 
679      ┃ ┃   ┃         ┃   ┃         ┃         ┃ ┃ ┣━┳ SUB 
680      ┃ ┃   ┃         ┃   ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
681      ┃ ┃   ┃         ┃   ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
682      ┃ ┃   ┃         ┃   ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
683      ┃ ┃   ┃         ┃   ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
684      ┃ ┃   ┃         ┃   ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
685      ┃ ┃   ┃         ┃   ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
686      ┃ ┃   ┃         ┃   ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
687      ┃ ┃   ┃         ┗━┳ ADD 
688      ┃ ┃   ┃           ┣━┳ MUL 
689      ┃ ┃   ┃           ┃ ┣━┳ DIV 
690      ┃ ┃   ┃           ┃ ┃ ┣━┳ CAST (dtypes.float, False)
691      ┃ ┃   ┃           ┃ ┃ ┃ ┗━┳ CMPEQ 
692      ┃ ┃   ┃           ┃ ┃ ┃   ┣━┳ ADD 
693      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┣━┳ MUL 
694      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┣━┳ MUL 
695      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
696      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ ADD 
697      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ MUL 
698      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ MUL 
699      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ SUB 
700      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
701      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
702      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
703      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
704      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
705      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃ ┗━┳ ADD 
706      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
707      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃   ┗━┳ SUB 
708      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┣━┳ MUL 
709      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
710      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ DIV 
711      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
712      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃   ┗━┳ ADD 
713      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
714      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃     ┗━┳ EXP2 
715      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃       ┗━┳ MUL 
716      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┣━┳ MUL 
717      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
718      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃ ┗━┳ MUL 
719      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┣━┳ MUL 
720      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┣━┳ ADD 
721      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┣━┳ MUL 
722      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┣━┳ MUL 
723      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┣━┳ SUB 
724      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
725      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
726      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
727      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
728      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
729      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
730      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃   ┗━┳ ADD 
731      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
732      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃     ┗━┳ MUL 
733      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┣━┳ MUL 
734      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
735      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃ ┗━┳ ADD 
736      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┣━┳ MUL 
737      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┣━┳ MUL 
738      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┣━┳ SUB 
739      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
740      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
741      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
742      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
743      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
744      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃       ┗━┳ ADD 
745      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┣━┳ MUL 
746      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┣━┳ MUL 
747      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┣━┳ SUB 
748      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
749      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
750      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
751      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
752      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┃         ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
753      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
754      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
755      ┃ ┃   ┃           ┃ ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(8192, 16, 4, 1), offset=0, mask=None, contiguous=True),)))
756      ┃ ┃   ┃           ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
757      ┃ ┃   ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
758      ┃ ┃   ┃           ┃ ┗━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(512, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
759      ┃ ┃   ┃           ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 512, 4, 4), strides=(18432, 36, 6, 1), offset=7, mask=None, contiguous=False),)))
760      ┃ ┃   ┗━┳ MUL 
761      ┃ ┃     ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
762      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
763      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
764      ┗━┳ MUL 
765        ┣━┳ ADD 
766        ┃ ┣━┳ MUL 
767        ┃ ┃ ┣━━ LOAD MemBuffer(idx=12, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
768        ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0001220703125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
769        ┃ ┗━━ CONST ConstBuffer(val=1e-12, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
770        ┗━┳ ADD 
771          ┣━┳ MUL 
772          ┃ ┣━━ LOAD MemBuffer(idx=12, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
773          ┃ ┗━━ CONST ConstBuffer(val=0.0001220703125, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
774          ┗━━ CONST ConstBuffer(val=1e-12, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 512, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 512  512    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0)]
 512  512    4    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256  512    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
 256  256    2    4    4    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 256  256    4    4    2    2
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  64  256    4    4    2    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  256    4    4    2    2    4    2
testing ast 689
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(8, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ DIV 
  4    ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃ ┃ ┗━┳ ADD 
  6    ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃   ┗━┳ EXP2 
  8    ┃ ┃     ┗━┳ MUL 
  9    ┃ ┃       ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(8, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 10    ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SUM (2, 1, 8, 1, 1, 1, 1, 1)
 12    ┃   ┗━┳ MUL 
 13    ┃     ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 32, 1, 1, 1, 1), strides=(0, 0, 1, 8, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 32, 1, 1, 1, 1), strides=(32, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┗━┳ MUL 
 16      ┣━┳ MUL 
 17      ┃ ┣━┳ DIV 
 18      ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃ ┃ ┗━┳ ADD 
 20      ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃ ┃   ┗━┳ EXP2 
 22      ┃ ┃     ┗━┳ MUL 
 23      ┃ ┃       ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(8, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 24      ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 25      ┃ ┗━┳ SUB 
 26      ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27      ┃   ┗━┳ DIV 
 28      ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃     ┗━┳ ADD 
 30      ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃       ┗━┳ EXP2 
 32      ┃         ┗━┳ MUL 
 33      ┃           ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(8, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 34      ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┗━┳ MUL 
 36        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 1, 1, 1, 1, 1), strides=(8, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 37        ┗━┳ SUM (2, 1, 8, 1, 1, 1, 1, 1)
 38          ┗━┳ MUL 
 39            ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 32, 1, 1, 1, 1), strides=(0, 0, 1, 8, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 8, 32, 1, 1, 1, 1), strides=(32, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2    8   32
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   2    8   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   16    2    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16    2    8    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   4    2    8    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   4    8    2    4    2
testing ast 690
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=71040, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 691
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(356, 4, 1), strides=(4, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (356, 4, 1)
  2    ┗━┳ WHERE 
  3      ┣━┳ CMPEQ 
  4      ┃ ┣━┳ CAST (dtypes.float, False)
  5      ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(356, 4, 1000), strides=(0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(356, 4, 1000), strides=(1, 0, 0), offset=0, mask=None, contiguous=False),)))
  7      ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(356, 4, 1000), strides=(0, 1, 4), offset=0, mask=None, contiguous=False),)))
  8      ┗━┳ CAST (dtypes.float, False)
  9        ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(356, 4, 1000), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 356    4 1000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
 356    4    4  250
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 178    4    4  250    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 178    4  250    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
 178  250    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  89  250    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96  250    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  24  250    2    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  12    2  250    2    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   6    2    2  250    2    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    2    2    3  250    2    4    4    2    4
testing ast 692
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 1, 1), strides=(1352, 169, 13, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 8, 13, 13, 1, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━┳ MAX 
  5        ┃ ┣━┳ ADD 
  6        ┃ ┃ ┣━┳ MUL 
  7        ┃ ┃ ┃ ┣━┳ MUL 
  8        ┃ ┃ ┃ ┃ ┣━┳ SUB 
  9        ┃ ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(5408, 676, 52, 2, 26, 1), offset=0, mask=None, contiguous=False),)))
 10        ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12        ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13        ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 8, 13, 13, 2, 2), strides=(1352, 169, 13, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 128    8   13   13    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32    8   13   13    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  32   13   13    2    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16   13   13    2    2    2    4    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16   13   13    2    2    4    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16   13   13    2    4    8    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8   13   13    2    2    4    8    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0)]
   8   13   13    2    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=13)]
   8   13    2   13    4    8    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=4, amt=0), Opt(op=OptOps.LOCAL, axis=2, amt=13), Opt(op=OptOps.LOCAL, axis=3, amt=13)]
testing ast 693
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 64, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 64, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(802816, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ MUL 
  7        ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8        ┗━┳ MUL 
  9          ┣━┳ CAST (dtypes.float, False)
 10          ┃ ┗━┳ CMPLT 
 11          ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12          ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(802816, 12544, 112, 1), offset=0, mask=None, contiguous=True),)))
 13          ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 64, 112, 112), strides=(831744, 12996, 114, 1), offset=115, mask=None, contiguous=False),)))
  64    2  112  112
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16)]
  64   16    2  112    7
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  16   16    2  112    7    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8   16    2  112    7    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
   8   16   16    2    7    7    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   16    2    7    7    4    2   16
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   16    7    7    4    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2   16    7    7    4    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2   16    7    7    4    2   16    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=2, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 694
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=9216, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 695
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 1, 1, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 32, 1, 1, 32, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 5, 5, 32, 3, 3), strides=(0, 0, 0, 7, 1, 49, 7, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 32, 5, 5, 32, 3, 3), strides=(0, 0, 25, 5, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  32   32    3    3    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   16    3    3    5    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  32   16    3    5    5    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    8    3    2    5    5    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    8    3    2    5    2    3    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    8    3    2    2    3    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 696
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=10752, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 697
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 4, 1, 11, 1, 7), strides=(0, 308, 0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 4, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 4, 3, 12, 3, 8), strides=(0, 36, 0, 9, 3, 540, 1, 108), offset=0, mask=((0, 1), (0, 3), (0, 1), (0, 4), (0, 3), (0, 9), (0, 3), (0, 5)), contiguous=False), View(shape=(1, 3, 1, 4, 44, 28), strides=(0, 3456, 0, 864, 24, 1), offset=0, mask=((0, 1), (0, 3), (0, 1), (0, 4), (0, 36), (0, 24)), contiguous=False), View(shape=(1, 3, 1, 4, 4, 11, 4, 7), strides=(0, 4928, 0, 1232, 308, 28, 7, 1), offset=0, mask=None, contiguous=True))))
   3    4   11    7    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    4   11    7    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3   11    7    4    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    4    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  11    7    4    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  11    7    4    4    3    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  11    7    4    3    4    4
testing ast 698
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 6, 7, 1, 1), strides=(42, 0, 7, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (8, 1, 6, 7, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 6, 7, 3, 5), strides=(33, 0, 0, 1, 11, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 6, 7, 3, 5), strides=(0, 0, 15, 0, 5, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(8, 1, 6, 7, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   8    6    7    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   8    3    7    2    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   8    7    2    3    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    2    3    5    3    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    2    5    3    8    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   7    5    3    8    3    2
testing ast 699
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 24, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(75264, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 24, 56, 56), strides=(75264, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃ ┃   ┗━┳ MUL 
 16      ┃ ┃     ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 17      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┗━┳ MUL 
 20        ┣━┳ ADD 
 21        ┃ ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 22        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┗━┳ ADD 
 24          ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 25          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 24, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  24    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32)]
  24   32    2   98
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   8   32    2   98    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2   98    3    8
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   8    2   98    3    8    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   8   98    3    8    4    2
testing ast 700
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 64, 32, 32, 1, 1, 1), strides=(65536, 0, 1024, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 1, 64, 32, 32, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 32, 4, 34, 4, 34), strides=(32768, 1024, 0, 32, 0, 1), offset=-33, mask=((0, 512), (0, 32), (0, 4), (1, 33), (0, 4), (1, 33)), contiguous=False), View(shape=(512, 1, 64, 32, 32, 32, 3, 3), strides=(591872, 0, 0, 136, 1, 18496, 4760, 35), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 64, 32, 32, 32, 3, 3), strides=(0, 0, 288, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 512   64   32   32   32    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4)]
 512   64   32    8   32    3    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256   64   32    8   32    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  64   64   32    8    4   32    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32   64   32    8    4    2   32    3    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32   64   32    8    4    2   32    3    4    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8   64   32    8    4    2   32    3    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
   8   64   32    8    4    2   32    3    4    2    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=5, amt=0)]
   8   64   32    8    4   32    3    4    2    3    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=5, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   8   64   32    8    2    2   32    3    4    2    3    4    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=5, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=2), Opt(op=OptOps.LOCAL, axis=4, amt=2)]
   8   64   32    8    2    2   32    3    4    2    3    4    2
testing ast 701
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 1, 32, 32, 3, 3), strides=(294912, 0, 9216, 0, 288, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (512, 1, 32, 1, 32, 32, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 64, 32, 32, 3, 3), strides=(0, 0, 9, 288, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 64, 16, 2, 16, 2), strides=(65536, 1024, 64, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(512, 1, 32, 64, 32, 32, 3, 3), strides=(65536, 0, 0, 1024, 32, 1, 0, 0), offset=0, mask=None, contiguous=False))))
 512   32   32   32    9   64
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4)]
 512   32    8   32    9   64    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 256   32    8   32    9   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 256    8    8   32    9    4   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    4    8   32    9    4    2   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 256    2    8   32    9    4    2    2   64    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 256    2    4   32    9    4    2    2   64    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
 256    2    4   32    9    4    2    2   16    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
 256    2   32    9    4    2    2   16    4    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=4)]
 256    2   32    9    2    2    4   16    4    4    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 256   32    9    2    2    4   16    4    4    2    2    4    2
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 64, 32, 32, 3, 3), strides=(0, 0, 9, 288, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 64, 16, 2, 16, 2), strides=(65536, 1024, 64, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(512, 1, 32, 64, 32, 32, 3, 3), strides=(65536, 0, 0, 1024, 32, 1, 0, 0), offset=0, mask=None, contiguous=False)))))), arg=None),), arg=(512, 1, 32, 1, 32, 32, 3, 3)),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(512, 1, 32, 1, 32, 32, 3, 3), strides=(294912, 0, 9216, 0, 288, 9, 3, 1), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUPTOP, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=4, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
COMPILE FAILED!!
testing ast 702
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6, 6, 1, 1, 1), strides=(0, 0, 0, 6, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 1, 6, 6, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6, 6, 1, 3, 3), strides=(0, 0, 0, 10, 1, 0, 10, 1), offset=11, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6, 6, 1, 3, 3), strides=(0, 0, 0, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 6, 6, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    6    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    6    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    3    3    3    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    3    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    6    2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    6    2    3    3
testing ast 703
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=35712, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 704
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 20, 4, 1, 1), strides=(160, 80, 4, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (32, 2, 20, 4, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 2, 20, 4, 5, 5), strides=(6160, 3080, 140, 5, 84, 2), offset=0, mask=None, contiguous=False),)))
  64   20    4    5    5
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64   20    2    5    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  64   20    5    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   20   16    5    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   20   16    2    5    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2   20   16    2    5    2    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  20   16    2    2    5    2    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   5   16    2    2    5    2    2    5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   5   16    2    5    2    2    5    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   5    2   16    5    2    2    5    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 705
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=57984, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 706
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 5, 1, 1, 2, 4, 1, 1, 1, 1), strides=(0, 40, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 9, 5, 1, 1, 2, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 5, 1, 1, 2, 4, 1, 4, 3, 3), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 9, 5, 1, 1, 2, 4, 1, 4, 3, 3), strides=(0, 0, 0, 0, 0, 144, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   9    5    2    4    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2)]
   9    5    2    2    2    4    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   9    5    2    2    4    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   9    2    2    4    3    3    2    5
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   9    2    2    4    3    2    5    3
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    2    2    3    2    5    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   9    2    3    2    5    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   9    2    3    2    5    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=3, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 707
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 28, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 28, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 28, 1, 1), strides=(28, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  28    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    4    2
testing ast 708
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 64, 56, 56, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 256, 1, 1), strides=(0, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 256, 1, 1), strides=(0, 0, 256, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 3136  256
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4)]
  64  784  256    4
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32  784  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8  784    4  256    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
   8  112    4  256    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4  112    4    2  256    4    2    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4   56    4    2  256    4    2    7    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4   56    2    2  256    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   56    2    2    4   64    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4   56    2    2    4    4   16    4    2    7    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2   56    2    2    2    4    4   16    4    2    7    2    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.MAX, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.SUB, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 256, 1, 1), strides=(0, 0, 0, 56, 1, 3136, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 256, 1, 1), strides=(0, 0, 256, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 64, 56, 56, 1, 1, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=UnaryOps.SQRT, src=(LazyOp(op=BinaryOps.DIV, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None)), arg=None),), arg=None)), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 64, 56, 56, 1, 1, 1), strides=(0, 0, 3136, 56, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.UPCAST, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
COMPILE FAILED!!
testing ast 709
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 5), strides=(0, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 5), strides=(2, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 2, 5), strides=(5, 0, 1), offset=0, mask=None, contiguous=False),)))
   2    5    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    5    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    5
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    5    4
testing ast 710
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ SUB 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 1152, 7, 7, 1, 1, 1)
  7    ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  8    ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 192, 1, 1), strides=(0, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 192, 1, 1), strides=(0, 0, 192, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┗━┳ SQRT 
 13    ┃ ┃   ┗━┳ DIV 
 14    ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15    ┃ ┃     ┗━┳ ADD 
 16    ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┗━┳ DIV 
 20      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┗━┳ ADD 
 22        ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 23        ┗━┳ EXP2 
 24          ┗━┳ MUL 
 25            ┣━┳ ADD 
 26            ┃ ┣━┳ MUL 
 27            ┃ ┃ ┣━┳ MUL 
 28            ┃ ┃ ┃ ┣━┳ SUB 
 29            ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 1152, 7, 7, 1, 1, 1)
 30            ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
 31            ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 192, 1, 1), strides=(0, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
 32            ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 192, 1, 1), strides=(0, 0, 192, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 33            ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34            ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 35            ┃ ┃ ┗━┳ SQRT 
 36            ┃ ┃   ┗━┳ DIV 
 37            ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 38            ┃ ┃     ┗━┳ ADD 
 39            ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 40            ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41            ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 42            ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1152, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1152   49  192
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7)]
1152    7  192    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
1152  192    7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  36   32  192    7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  12   32    3  192    7    7
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   4   32    3  192    7    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4   16    3    2  192    7    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    8    3    2    2  192    7    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4    2    3    2    2    4  192    7    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    3    2    2    4    2  192    7    7    3
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    3    2    2    4    2    2  192    7    7    3
testing ast 711
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 4, 1, 18, 1, 18), strides=(0, 0, 1296, 324, 0, 18, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 4, 1, 18, 1, 18)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 4, 3, 19, 3, 19), strides=(0, 0, 36, 9, 3, 2304, 1, 144), offset=0, mask=((0, 1), (0, 1), (0, 4), (0, 4), (0, 3), (0, 16), (0, 3), (0, 16)), contiguous=False), View(shape=(1, 1, 4, 4, 72, 72), strides=(0, 0, 12996, 3249, 57, 1), offset=0, mask=((0, 1), (0, 1), (0, 4), (0, 4), (0, 57), (0, 57)), contiguous=False), View(shape=(1, 1, 4, 4, 4, 18, 4, 18), strides=(0, 0, 20736, 5184, 1296, 72, 18, 1), offset=0, mask=None, contiguous=True))))
   4    4   18   18    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4   18   18    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2   18   18    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   18   18    4    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
   2   18   18    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    6   18    4    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   6   18    2    4    2    4    4    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   6    9    2    4    2    4    4    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   3    9    2    2    4    2    4    4    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   3    9    2    2    4    2    4    4    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    2    2    3    4    2    4    4    3    2
testing ast 712
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (7, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(7, 12), strides=(0, 256), offset=-1281, mask=((0, 7), (6, 12)), contiguous=False), View(shape=(7, 6), strides=(1, 13), offset=0, mask=None, contiguous=False))))
   7    6
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    7
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   7    6
testing ast 713
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 4, 1, 11, 1, 7), strides=(924, 308, 0, 77, 0, 7, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 3, 1, 4, 1, 11, 1, 7)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 3, 1, 4, 3, 12, 3, 8), strides=(4860, 36, 0, 9, 3, 540, 1, 108), offset=0, mask=((0, 4), (0, 3), (0, 1), (0, 4), (0, 3), (0, 9), (0, 3), (0, 5)), contiguous=False), View(shape=(4, 3, 1, 4, 44, 28), strides=(10368, 3456, 0, 864, 24, 1), offset=0, mask=((0, 4), (0, 3), (0, 1), (0, 4), (0, 36), (0, 24)), contiguous=False), View(shape=(4, 3, 1, 4, 4, 11, 4, 7), strides=(14784, 4928, 0, 1232, 308, 28, 7, 1), offset=0, mask=None, contiguous=True))))
   4    3    4   11    7    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4    3    2   11    7    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2   11    7    2    4    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   11    7    2    4    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   2   11    7    2    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2   11    7    4    3    4    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  11    7    4    3    4    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  11    7    4    3    4    4    2    2
testing ast 714
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(576000, 384, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(576000, 1, 1500, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┗━┳ ADD 
  8    ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃   ┗━┳ SUB 
 10    ┃ ┃     ┣━┳ MUL 
 11    ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃     ┃ ┗━┳ DIV 
 13    ┃ ┃     ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃ ┃     ┃   ┗━┳ ADD 
 15    ┃ ┃     ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃     ┃     ┗━┳ EXP2 
 17    ┃ ┃     ┃       ┗━┳ MUL 
 18    ┃ ┃     ┃         ┣━┳ MUL 
 19    ┃ ┃     ┃         ┃ ┣━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┃     ┃         ┃ ┗━┳ MUL 
 21    ┃ ┃     ┃         ┃   ┣━┳ MUL 
 22    ┃ ┃     ┃         ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(576000, 1, 1500, 0), offset=0, mask=None, contiguous=False),)))
 23    ┃ ┃     ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.7978845608, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 24    ┃ ┃     ┃         ┃   ┗━┳ ADD 
 25    ┃ ┃     ┃         ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26    ┃ ┃     ┃         ┃     ┗━┳ MUL 
 27    ┃ ┃     ┃         ┃       ┣━┳ MUL 
 28    ┃ ┃     ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.044715, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29    ┃ ┃     ┃         ┃       ┃ ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(576000, 1, 1500, 0), offset=0, mask=None, contiguous=False),)))
 30    ┃ ┃     ┃         ┃       ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(576000, 1, 1500, 0), offset=0, mask=None, contiguous=False),)))
 31    ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32    ┃ ┃     ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33    ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 384, 1, 0), offset=0, mask=None, contiguous=False),)))
 34    ┗━┳ ADD 
 35      ┣━┳ SUM (2, 1500, 384, 1)
 36      ┃ ┗━┳ MUL 
 37      ┃   ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 6, 64), strides=(576000, 64, 96000, 1), offset=0, mask=None, contiguous=False), View(shape=(2, 1500, 384, 384), strides=(576000, 384, 0, 1), offset=0, mask=None, contiguous=False))))
 38      ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 384), strides=(0, 0, 384, 1), offset=0, mask=None, contiguous=False),)))
 39      ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1500, 384, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=False),)))
   2 1500  384  384
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2 1500  384    4   96
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2  500  384    4   96    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
 500  384    4   96    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
 250  384    2    4   96    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 250  384    2    4   24    3    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4)]
 250  384    2    4    6    3    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 250  192    2    4    6    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 250   96    2    2    4    6    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 16384 / 17408 (94.1%)
Max absolute difference: 95.
Max relative difference: 0.1044
 x: array([1018.5, 1021.5, 1019. , ...,    0. ,    0. ,    0. ], dtype=float16)
 y: array([938.5, 937. , 946.5, ...,   0. ,   0. ,   0. ], dtype=float16)
 250   48    2    2    2    4    6    3    2    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
 250   12    2    2    2    4    4    6    3    2    4    4    2
testing ast 715
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4, 4096, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 4096), strides=(0, 4096, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 4096), strides=(0, 0, 4096, 1), offset=0, mask=None, contiguous=False),)))
   4 4096 4096
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
   4 4096   16  256
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 4096), strides=(0, 4096, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 4096), strides=(0, 0, 4096, 1), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 4, 4096, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 4, 4096, 1), strides=(0, 4096, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=16)]
COMPARE FAILED!!
testing ast 716
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (47, 1)
  3    ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(48, 93), strides=(0, 0), offset=0, mask=((0, 48), (46, 93)), contiguous=False), View(shape=(47, 47), strides=(1, 94), offset=0, mask=None, contiguous=False))))
  4    ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  47   47
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64   47
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32   47    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   2   16   47    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   2    8    2   47    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    2   47    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    2    2   47    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2   47    2    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   47    2    2    2    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  47    2    2    2    2    2    2
testing ast 717
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=18432, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 718
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 16, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ CAST (dtypes.float, False)
  4      ┃ ┗━┳ CMPLT 
  5      ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┃   ┗━┳ MAX 
  7      ┃     ┣━┳ ADD 
  8      ┃     ┃ ┣━┳ MUL 
  9      ┃     ┃ ┃ ┣━┳ MUL 
 10      ┃     ┃ ┃ ┃ ┣━┳ SUB 
 11      ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(1936, 121, 11, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 15      ┃     ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 11, 11), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 16, 5, 2, 5, 2), strides=(1600, 100, 20, 2, 4, 1), offset=0, mask=None, contiguous=False), View(shape=(128, 16, 11, 11), strides=(1600, 100, 10, 1), offset=0, mask=((0, 128), (0, 16), (0, 10), (0, 10)), contiguous=False))))
  16  128   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   32    4   11   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32    4   11   11    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    4   11   11    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0)]
  32    4   11    4    4   11
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=3, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4   11    4    4   11
testing ast 719
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (1, 16, 1, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(576, 36, 6, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(576, 36, 6, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32, 16, 6, 6), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.0008680555555555555, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 16, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16   32   36
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32)]
  16   32   36
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   4   32   36    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   36    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  32    4    9    4    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  32    4    4    4    9
testing ast 720
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 2, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 64, 16, 0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 2, 4, 1, 4, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 6, 1, 1, 2, 4, 1, 4, 2, 2), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 6, 1, 8), strides=(0, 6, 1, 0, 60), offset=0, mask=((0, 1), (0, 10), (0, 6), (0, 1), (0, 6)), contiguous=False), View(shape=(1, 10, 6, 1, 1, 2, 4, 1, 4, 2, 2), strides=(0, 48, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False))))
   2    4    4    2    2   10    6
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   2    4    4    2   10    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    2   10    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
   4    2    4   10    6    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   4    2    2   10    6    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   2    2    2   10    6    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    2    2    6    2    2    2    2   10
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    6    2    2    2    2   10
applied opts: [Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 721
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 1, 1, 1), strides=(128, 0, 4, 2, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ CAST (dtypes.float, False)
  3    ┃ ┗━┳ CMPLT 
  4    ┃   ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━┳ MAX 
  6    ┃     ┣━┳ ADD 
  7    ┃     ┃ ┣━┳ SUM (2, 1, 32, 2, 2, 1, 1, 1)
  8    ┃     ┃ ┃ ┗━┳ MUL 
  9    ┃     ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 3, 3, 3), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
 11    ┃     ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃     ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 32, 2, 2, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2   32    4   27
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4)]
   2   32    4   27
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2   32   27    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32   27    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4   27    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2   27    4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2   27    4    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2   27    4    2    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  27    4    2    2    4    2    2
testing ast 722
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1000, 1), strides=(1000, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1000, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1000, 1280), strides=(1280, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1000, 1280), strides=(0, 1, 1000), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1000, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2 1000 1280
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
   2 1000  256    5
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
1000  256    5    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 500  256    5    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
 500  256    2    2    5
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 125  256    2    2    5    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 128  256    2    2    5    4
testing ast 723
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 4), strides=(0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 4)
  2    ┗━┳ DIV 
  3      ┣━┳ ADD 
  4      ┃ ┣━┳ MUL 
  5      ┃ ┃ ┣━┳ ADD 
  6      ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(4, 1), offset=0, mask=None, contiguous=True),)))
  7      ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  9      ┃ ┗━┳ MUL 
 10      ┃   ┣━┳ ADD 
 11      ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(4, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(5, 4), strides=(4, 1), offset=0, mask=None, contiguous=True),)))
   4    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   4    5
testing ast 724
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=64512, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 725
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 13, 1, 1, 1), strides=(260, 0, 65, 13, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (4, 1, 4, 5, 13, 1, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 13, 3, 3, 3), strides=(924, 0, 0, 56, 2, 308, 28, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 13, 3, 3, 3), strides=(0, 0, 27, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 4, 5, 13, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    5   13    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    5   13    4    3    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4   13    4    3    3    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  13    4    3    3    3    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  13    4    3    3    5    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  13    2    3    3    5    4    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  13    3    3    5    4    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
  13    3    3    5    4    3    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=13), Opt(op=OptOps.LOCAL, axis=0, amt=13)]
testing ast 726
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 192, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 192, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━┳ SUB 
  4      ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 192, 7, 7), strides=(9408, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  5      ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 192, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  6      ┗━┳ SUB 
  7        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 192, 7, 7), strides=(9408, 49, 7, 1), offset=0, mask=None, contiguous=True),)))
  8        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 192, 7, 7), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 192    2   49
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  64    2   49    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  32    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4    2   49    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   8    2    2   49    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    2    2   49    3    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    2   49    3    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2   49    3    2    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   49    3    2    2    4    2    2
testing ast 727
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 8, 8, 1, 1, 1), strides=(0, 0, 64, 8, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ SUM (1, 1, 1280, 8, 8, 1, 1, 1)
  4    ┃ ┃ ┗━┳ MUL 
  5    ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2560, 4, 10, 4, 10), strides=(0, 64, 0, 8, 0, 1), offset=-9, mask=((0, 1), (0, 2560), (0, 4), (1, 9), (0, 4), (1, 9)), contiguous=False), View(shape=(1, 1, 1280, 8, 8, 2560, 3, 3), strides=(0, 0, 0, 40, 1, 1600, 440, 11), offset=0, mask=None, contiguous=False))))
  6    ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 8, 8, 2560, 3, 3), strides=(0, 0, 23040, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 8, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1280, 8, 8, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
1280    8    8 2560    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16)]
  80    8    8   16 2560    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  80    4    8   16 2560    3    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
  80    8   16 2560    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
  80    8   16    4  640    3    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
  80    8   16    4  640    3    2    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  80    8   16  640    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  80    2   16    4  640    3    2    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  80    2    8    4  640    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  80    8    4    2  640    3    2    4    3    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  96    8    4    2  640    3    2    4    3    4    2
testing ast 728
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(188160, 784, 0, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ MUL 
  3    ┃ ┣━┳ MUL 
  4    ┃ ┃ ┣━┳ SUB 
  5    ┃ ┃ ┃ ┣━┳ SUM (2, 240, 1, 28, 28, 1, 1, 1)
  6    ┃ ┃ ┃ ┃ ┗━┳ MUL 
  7    ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 6, 32, 6, 32), strides=(188160, 784, 0, 28, 0, 1), offset=-58, mask=((0, 2), (0, 240), (0, 6), (2, 30), (0, 6), (2, 30)), contiguous=False), View(shape=(2, 240, 1, 28, 28, 1, 5, 5), strides=(8847360, 36864, 0, 192, 1, 0, 6336, 33), offset=0, mask=None, contiguous=False))))
  8    ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 5, 5), strides=(0, 1, 0, 0, 0, 0, 1200, 240), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┗━┳ SQRT 
 12    ┃   ┗━┳ DIV 
 13    ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14    ┃     ┗━┳ ADD 
 15    ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 17    ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 240, 1, 28, 28, 1, 1, 1), strides=(0, 1, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  240   28   28    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   2   30   28   28    8    5    5
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2   30   14   28    8    5    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  30   14   28    8    5    5    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7)]
  30    2   28    8    5    5    2    2    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4)]
  30    2   28    2    5    5    2    2    7    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  30    2   14    2    5    5    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  30   14    2    2    5    5    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   14    2    2    5    5    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    7    2    2    2    5    5    2    2    7    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=7), Opt(op=OptOps.UPCAST, axis=3, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
  32    7    2    2    2    5    5    2    2    7    4    2
testing ast 729
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.002551020408163265, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ DIV 
  4      ┣━┳ MUL 
  5      ┃ ┣━┳ NEG 
  6      ┃ ┃ ┗━┳ DIV 
  7      ┃ ┃   ┣━┳ SUM (1, 480, 1, 1)
  8      ┃ ┃   ┃ ┗━┳ MUL 
  9      ┃ ┃   ┃   ┣━┳ MUL 
 10      ┃ ┃   ┃   ┃ ┣━┳ SUB 
 11      ┃ ┃   ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃ ┃   ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┃   ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┃ ┃   ┃   ┗━┳ ADD 
 15      ┃ ┃   ┃     ┣━┳ MUL 
 16      ┃ ┃   ┃     ┃ ┣━┳ DIV 
 17      ┃ ┃   ┃     ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18      ┃ ┃   ┃     ┃ ┃ ┗━┳ ADD 
 19      ┃ ┃   ┃     ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃ ┃   ┃     ┃ ┃   ┗━┳ EXP2 
 21      ┃ ┃   ┃     ┃ ┃     ┗━┳ MUL 
 22      ┃ ┃   ┃     ┃ ┃       ┣━┳ ADD 
 23      ┃ ┃   ┃     ┃ ┃       ┃ ┣━┳ MUL 
 24      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┣━┳ MUL 
 25      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 26      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 27      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 28      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 29      ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 30      ┃ ┃   ┃     ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 31      ┃ ┃   ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32      ┃ ┃   ┃     ┃ ┗━┳ ADD 
 33      ┃ ┃   ┃     ┃   ┣━┳ MUL 
 34      ┃ ┃   ┃     ┃   ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(480, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 35      ┃ ┃   ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 36      ┃ ┃   ┃     ┃   ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(480, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 37      ┃ ┃   ┃     ┗━┳ MUL 
 38      ┃ ┃   ┃       ┣━┳ MUL 
 39      ┃ ┃   ┃       ┃ ┣━┳ DIV 
 40      ┃ ┃   ┃       ┃ ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 41      ┃ ┃   ┃       ┃ ┃ ┗━┳ ADD 
 42      ┃ ┃   ┃       ┃ ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 43      ┃ ┃   ┃       ┃ ┃   ┗━┳ EXP2 
 44      ┃ ┃   ┃       ┃ ┃     ┗━┳ MUL 
 45      ┃ ┃   ┃       ┃ ┃       ┣━┳ ADD 
 46      ┃ ┃   ┃       ┃ ┃       ┃ ┣━┳ MUL 
 47      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┣━┳ MUL 
 48      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┣━┳ SUB 
 49      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 50      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 51      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 52      ┃ ┃   ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 53      ┃ ┃   ┃       ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 54      ┃ ┃   ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 55      ┃ ┃   ┃       ┃ ┗━┳ SUB 
 56      ┃ ┃   ┃       ┃   ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 57      ┃ ┃   ┃       ┃   ┗━┳ DIV 
 58      ┃ ┃   ┃       ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 59      ┃ ┃   ┃       ┃     ┗━┳ ADD 
 60      ┃ ┃   ┃       ┃       ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 61      ┃ ┃   ┃       ┃       ┗━┳ EXP2 
 62      ┃ ┃   ┃       ┃         ┗━┳ MUL 
 63      ┃ ┃   ┃       ┃           ┣━┳ ADD 
 64      ┃ ┃   ┃       ┃           ┃ ┣━┳ MUL 
 65      ┃ ┃   ┃       ┃           ┃ ┃ ┣━┳ MUL 
 66      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┣━┳ SUB 
 67      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 68      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 69      ┃ ┃   ┃       ┃           ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 70      ┃ ┃   ┃       ┃           ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 71      ┃ ┃   ┃       ┃           ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 72      ┃ ┃   ┃       ┃           ┗━━ CONST ConstBuffer(val=-1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 73      ┃ ┃   ┃       ┗━┳ MUL 
 74      ┃ ┃   ┃         ┣━┳ ADD 
 75      ┃ ┃   ┃         ┃ ┣━┳ MUL 
 76      ┃ ┃   ┃         ┃ ┃ ┣━┳ MUL 
 77      ┃ ┃   ┃         ┃ ┃ ┃ ┣━┳ SUB 
 78      ┃ ┃   ┃         ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 79      ┃ ┃   ┃         ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 80      ┃ ┃   ┃         ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 81      ┃ ┃   ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 82      ┃ ┃   ┃         ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 83      ┃ ┃   ┃         ┗━┳ ADD 
 84      ┃ ┃   ┃           ┣━┳ MUL 
 85      ┃ ┃   ┃           ┃ ┣━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(480, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 86      ┃ ┃   ┃           ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(94080, 196, 14, 1), offset=0, mask=None, contiguous=True),)))
 87      ┃ ┃   ┃           ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 480, 14, 14), strides=(480, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 88      ┃ ┃   ┗━┳ MUL 
 89      ┃ ┃     ┣━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 90      ┃ ┃     ┗━━ CONST ConstBuffer(val=2.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 91      ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 92      ┗━┳ MUL 
 93        ┣━┳ ADD 
 94        ┃ ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 95        ┃ ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 96        ┗━┳ ADD 
 97          ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 98          ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 480, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 480    2  196
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  15   32    2  196
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   5   32    2  196    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  32    2  196    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2  196    3    5
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  16    2  196    3    5    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  16    2   49    3    5    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    2   49    3    5    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    2   49    3    5    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2   49    3    5    2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 730
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 6, 1, 1, 2, 4, 1, 1, 1, 1), strides=(0, 48, 8, 0, 0, 4, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 10, 6, 1, 1, 2, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 6, 1, 1, 2, 4, 1, 4, 2, 2), strides=(0, 28, 4, 0, 0, 0, 0, 0, 1, 28, 4), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 10, 6, 1, 1, 2, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 64, 1, 0, 4, 32, 16), offset=0, mask=None, contiguous=False),)))
  10    6    2    4    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   5    6    2    4    4    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   6    2    4    4    2    2    2    5
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   6    2    4    4    2    2    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   3    2    4    4    2    2    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   3    2    2    4    2    2    5    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   3    2    4    2    2    5    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   3    2    4    2    2    5    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    4    2    2    5    2    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 731
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 512, 32, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUB 
  2    ┣━┳ MAX 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ SUM (1, 1, 288, 16, 32, 1, 1, 1)
  5    ┃ ┃ ┃ ┗━┳ MUL 
  6    ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 48, 1, 1), strides=(0, 0, 0, 32, 1, 512, 0, 0), offset=0, mask=None, contiguous=False),)))
  7    ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 48, 1, 1), strides=(0, 0, 48, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
  8    ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9    ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┗━┳ MAX 
 11      ┣━┳ SUB 
 12      ┃ ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃ ┗━┳ EXP2 
 14      ┃   ┗━┳ MUL 
 15      ┃     ┣━┳ ADD 
 16      ┃     ┃ ┣━┳ SUM (1, 1, 288, 16, 32, 1, 1, 1)
 17      ┃     ┃ ┃ ┗━┳ MUL 
 18      ┃     ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 48, 1, 1), strides=(0, 0, 0, 32, 1, 512, 0, 0), offset=0, mask=None, contiguous=False),)))
 19      ┃     ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 48, 1, 1), strides=(0, 0, 48, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 20      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 21      ┃     ┗━━ CONST ConstBuffer(val=1.4426950408889634, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 22      ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 288, 16, 32, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 288  512   48
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  72  512   48    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  36  512   48    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
  12  512    3   48    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   6  512    3    2   48    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   6  512    3    2   12    4    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   6  256    3    2   12    4    2    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   6  128    3    2   12    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   6    8    3    2   16   12    4    2    4    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.LOCAL, axis=4, amt=16)]
testing ast 732
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ CONST ConstBuffer(val=0.00015943877551020407, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ ADD 
  4      ┣━┳ SUM (1, 144, 1, 1)
  5      ┃ ┗━┳ NEG 
  6      ┃   ┗━┳ ADD 
  7      ┃     ┣━┳ MUL 
  8      ┃     ┃ ┣━┳ SUB 
  9      ┃     ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 10      ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11      ┃     ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 12      ┃     ┗━┳ MUL 
 13      ┃       ┣━┳ SUB 
 14      ┃       ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(451584, 3136, 56, 1), offset=0, mask=None, contiguous=True),)))
 15      ┃       ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 16      ┃       ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 144, 56, 56), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 17      ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 144, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
 144    2 3136
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16)]
 144   16    2  196
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
  48   16    2  196    3
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  24   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  32   16    2  196    3    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32    4    2  196    3    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  32    4  196    3    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
  32  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   8    4  196    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   8    4    4   49    3    2    4    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    4    2    4   49    3    2    4    2    4
testing ast 733
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 240, 28, 28, 1, 1, 1), strides=(188160, 0, 784, 28, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 1, 240, 28, 28, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 240, 28, 28, 40, 1, 1), strides=(31360, 0, 0, 28, 1, 784, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 240, 28, 28, 40, 1, 1), strides=(0, 0, 40, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   2  240  784   40
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2  240  784    4   10
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2   80  784    4   10    3
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  80  784    4   10    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  40  784    2    4   10    3    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
  40  784    2    4    3    2   10
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  20  784    2    2    4    3    2   10
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   5  784    2    2    4    3    2   10    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   5  800    2    2    4    3    2   10    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5  400    2    2    2    4    3    2   10    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
   5  416    2    2    2    4    3    2   10    4
testing ast 734
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ ADD 
  3    ┃ ┣━┳ ADD 
  4    ┃ ┃ ┣━┳ MUL 
  5    ┃ ┃ ┃ ┣━┳ MUL 
  6    ┃ ┃ ┃ ┃ ┣━┳ SUB 
  7    ┃ ┃ ┃ ┃ ┃ ┣━┳ SUM (1, 1, 2048, 7, 7, 1, 1, 1)
  8    ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ MUL 
  9    ┃ ┃ ┃ ┃ ┃ ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 512, 1, 1), strides=(0, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))
 10    ┃ ┃ ┃ ┃ ┃ ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 512, 1, 1), strides=(0, 0, 512, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
 11    ┃ ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 12    ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13    ┃ ┃ ┃ ┗━┳ SQRT 
 14    ┃ ┃ ┃   ┗━┳ DIV 
 15    ┃ ┃ ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 16    ┃ ┃ ┃     ┗━┳ ADD 
 17    ┃ ┃ ┃       ┣━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 18    ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 19    ┃ ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 20    ┃ ┗━┳ ADD 
 21    ┃   ┣━┳ MUL 
 22    ┃   ┃ ┣━┳ MUL 
 23    ┃   ┃ ┃ ┣━┳ SUB 
 24    ┃   ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
 25    ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 26    ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 27    ┃   ┃ ┗━┳ SQRT 
 28    ┃   ┃   ┗━┳ DIV 
 29    ┃   ┃     ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 30    ┃   ┃     ┗━┳ ADD 
 31    ┃   ┃       ┣━━ LOAD MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 32    ┃   ┃       ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 33    ┃   ┗━━ LOAD MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 34    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
2048   49  512
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256)]
2048   49  256    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
1024   49  256    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
 512   49  256    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32)]
 512   64  256    2    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
 128   64  256    2    2    2    4
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   32  256    2    2    2    4    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128   16  256    2    2    2    4    2    2
applied opts: [Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
 128    8  256    2    2    2    4    2    2    2
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 46, in run_linearizer
    prg = device.to_program(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 321, in to_program
    return CompiledASTRunner(k.ast, k.name, self.compiler.render(to_function_name(k.name), k.uops), self, k.global_size, k.local_size)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 284, in __init__
    lib:bytes = precompiled if precompiled is not None else self.device.compiler.compile_cached(prg)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 272, in compile_cached
    lib = self.compile(src)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/ops_hip.py", line 19, in compile
    def compile(self, src:str) -> bytes: return compile_hip(src, self.arch)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 40, in compile_hip
    check(comgr.amd_comgr_do_action(comgr.AMD_COMGR_ACTION_CODEGEN_BC_TO_RELOCATABLE, action_info, data_set_bc, data_set_reloc))
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/runtime/compiler/hip_comgr.py", line 7, in check
    raise RuntimeError(f"comgr fail {status}, {ctypes.string_at(status_str).decode()}")
RuntimeError: comgr fail 1, ERROR
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=BinaryOps.MAX, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.SUB, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 512, 1, 1), strides=(0, 0, 0, 7, 1, 49, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 512, 1, 1), strides=(0, 0, 512, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 2048, 7, 7, 1, 1, 1)), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=UnaryOps.SQRT, src=(LazyOp(op=BinaryOps.DIV, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None)), arg=None),), arg=None)), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BinaryOps.SUB, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=7, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=8, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=9, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None), LazyOp(op=UnaryOps.SQRT, src=(LazyOp(op=BinaryOps.DIV, src=(LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BinaryOps.ADD, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=10, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None)), arg=None),), arg=None)), arg=None), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=11, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 1, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None)), arg=None), LazyOp(op=BufferOps.CONST, src=(), arg=ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 2048, 7, 7, 1, 1, 1), strides=(0, 0, 49, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.GROUPTOP, axis=0, amt=256), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.PADTO, axis=1, amt=32), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
COMPILE FAILED!!
testing ast 735
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 2, 2, 5), strides=(20, 0, 10, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 2, 2, 5), strides=(0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  3    ┗━┳ SUM (4, 1, 2, 2, 5)
  4      ┗━┳ MUL 
  5        ┣━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 8, 2, 2, 5), strides=(0, 4, 2, 1, 0), offset=0, mask=None, contiguous=False),)))
  6        ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 8, 2, 2, 5), strides=(40, 5, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
   4    4    5    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4)]
   4    4    5    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    5    4    2    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    4    2    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   5    4    4    4    2
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    4    4    2    5
testing ast 736
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 1, 2, 6), strides=(108, 12, 0, 6, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (3, 9, 1, 2, 6)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 6), strides=(0, 0, 12, 6, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(3, 9, 2, 2, 6), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  27   12    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   9   12    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   9    6    2    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9    6    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   9    3    3    2    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3    3    3    2    2    2    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    3    2    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    2    2    2    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 737
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 197, 1), strides=(0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MUL 
  2    ┣━┳ SUM (1, 197, 1)
  3    ┃ ┗━┳ ADD 
  4    ┃   ┣━┳ ADD 
  5    ┃   ┃ ┣━┳ ADD 
  6    ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 197, 192), strides=(0, 0, 1), offset=0, mask=((0, 1), (0, 1), (0, 192)), contiguous=False),)))
  7    ┃   ┃ ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 192), strides=(0, 0, 0), offset=0, mask=None, contiguous=False), View(shape=(1, 197, 192), strides=(0, 0, 1), offset=0, mask=((0, 1), (0, 1), (0, 192)), contiguous=False))))
  8    ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 197, 192), strides=(0, 1, 196), offset=-1, mask=((0, 1), (1, 197), (0, 192)), contiguous=False),)))
  9    ┃   ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 197, 192), strides=(0, 192, 1), offset=0, mask=None, contiguous=True),)))
 10    ┗━━ CONST ConstBuffer(val=0.005208333333333333, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 197, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 197  192
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
 197    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 197   24    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 197    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
 224    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
  56    4    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  56    2    2    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  56    2    2    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    2    2    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    2    2    8   24
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
  32    2    2    2    8   24
testing ast 738
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 1, 9, 5, 3, 3), strides=(1215, 0, 405, 0, 45, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 3, 1, 9, 5, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 9, 5, 3, 3), strides=(0, 0, 9, 27, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 3, 6, 9, 5, 3, 3), strides=(270, 0, 0, 45, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    3   45    9    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   3   45    9    4    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
   3   45    9    6    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  45    9    6    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    9    6    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    9    2    6    4    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   8    9    2    6    4    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    9    2    6    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   9    2    2    6    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2    2    3    6    4    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   3    2    3    2    6    4    3    4    4
testing ast 739
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 8, 1, 1), strides=(0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 8, 1, 1)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 8, 1, 1), strides=(8, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
   8    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   2    4    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   4    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    4    2
testing ast 740
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 3, 1, 1), strides=(0, 0, 0, 1, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX 
  2    ┣━┳ SUM (1, 1, 1, 3, 1, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 3, 4), strides=(0, 0, 0, 1), offset=0, mask=((0, 1), (0, 1), (0, 3), (0, 3)), contiguous=False), View(shape=(1, 1, 1, 3, 1, 2), strides=(0, 0, 0, 1, 0, 5), offset=0, mask=None, contiguous=False))))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 3, 1, 2), strides=(0, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 3, 1, 1), strides=(0, 0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    2
testing ast 741
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 3, 1, 3, 3, 3, 3), strides=(1215, 243, 81, 0, 27, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 5, 3, 1, 3, 3, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 3, 7, 3, 3, 3, 3), strides=(0, 189, 9, 27, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 5, 3, 7, 3, 3, 3, 3), strides=(315, 63, 0, 9, 3, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    5    3    9    9    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3)]
   4    5    3    9    3    3    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    9    3    3    7    5
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    9    3    3    7    5    4
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    9    3    3    5    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    3    3    5    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    3    3    5    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3)]
   3    3    3    3    3    5    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    3    3    3    5    4    7
applied opts: [Opt(op=OptOps.LOCAL, axis=4, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=3), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=4, amt=3)]
testing ast 742
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 6, 1, 1, 1, 1, 2), strides=(0, 0, 2, 0, 0, 0, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 6, 1, 1, 1, 1, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 1, 1, 2), strides=(77, 0, 0, 7, 1, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 6, 11, 6, 1, 1, 2), strides=(396, 0, 66, 6, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   6    2    4   11    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   2    2    3    4   11    6
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2    3    4   11    6    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    4   11    6    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
testing ast 743
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 0, 0, 0, 0, 0, 16, 0, 4, 2, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1, 1, 1, 1, 4, 1, 4, 2, 2)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 1, 4, 3, 4, 3, 4), strides=(0, 0, 0, 1, 0, 12, 0, 4), offset=0, mask=((0, 1), (0, 1), (0, 1), (0, 4), (0, 3), (0, 3), (0, 3), (0, 3)), contiguous=False), View(shape=(1, 3, 3, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 12, 1, 0, 0, 0, 0, 0, 144, 60, 5), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 3, 1, 1, 1, 4, 1, 4, 2, 2), strides=(0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0), offset=0, mask=((0, 1), (0, 3), (0, 3), (0, 1), (0, 1), (0, 1), (0, 1), (0, 1), (0, 4), (0, 2), (0, 2)), contiguous=False),)))
   4    4    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2)]
   4    4    2    2    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    2    2    3    3    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    2    3    3    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 744
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 2, 8, 5), strides=(0, 40, 5, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 2, 8, 5)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 8, 5), strides=(16, 8, 1, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 2, 8, 5), strides=(0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  16    5    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2)]
   8    5    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   5    2    2    8
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   5    2    8    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    8    2    5
testing ast 745
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(32, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SQRT 
  2    ┗━┳ DIV 
  3      ┣━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ MUL 
  6        ┃ ┣━┳ SUM (2, 32, 1)
  7        ┃ ┃ ┗━┳ MUL 
  8        ┃ ┃   ┣━┳ SUB 
  9        ┃ ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 2560), strides=(81920, 2560, 1), offset=0, mask=None, contiguous=True),)))
 10        ┃ ┃   ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 2560), strides=(32, 1, 0), offset=0, mask=None, contiguous=False),)))
 11        ┃ ┃   ┗━┳ SUB 
 12        ┃ ┃     ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 2560), strides=(81920, 2560, 1), offset=0, mask=None, contiguous=True),)))
 13        ┃ ┃     ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 2560), strides=(32, 1, 0), offset=0, mask=None, contiguous=False),)))
 14        ┃ ┗━━ CONST ConstBuffer(val=0.000390625, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
 15        ┗━━ CONST ConstBuffer(val=1e-05, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 32, 1), strides=(0, 0, 0), offset=0, mask=None, contiguous=False),)))
  64 2560
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
   2   32 2560
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2   16 2560    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  16 2560    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4)]
   4    4 2560    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   4    2 2560    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2 2560    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2 2560    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   2 2560    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4  640    2    2    2    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2  640    2    2    2    2    2    4
testing ast 746
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 1)
  2    ┗━┳ CAST (dtypes.float, False)
  3      ┗━┳ CMPEQ 
  4        ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10), strides=(10, 1), offset=0, mask=None, contiguous=True),)))
  5        ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 10), strides=(1, 0), offset=0, mask=None, contiguous=False),)))
 128   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4)]
  32   10    4
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8)]
   2    8   10    4    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2    8    4    2   10
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   2    4    4    2   10    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    4    2   10    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    4    2   10    2
applied opts: [Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=2)]
testing ast 747
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 1, 1), strides=(5408, 0, 676, 26, 1, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (128, 1, 8, 26, 26, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 3, 3), strides=(784, 0, 0, 28, 1, 0, 28, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(128, 1, 8, 26, 26, 1, 3, 3), strides=(0, 0, 9, 0, 0, 0, 3, 1), offset=0, mask=None, contiguous=False),)))
 128    8   26   26    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32)]
 128    8   32   26    3    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
 128    8   16   26    3    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
 128   16   26    3    3    2    8
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
 128    8   26    2    3    3    2    8
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 128    8   26    2    3    2    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  64    8   26    2    2    3    2    8    3
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2)]
  64    8   13    2    2    3    2    8    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
  64   13    2    2    8    3    2    8    3    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0)]
  64   13    2    8    3    2    8    3    2    2
applied opts: [Opt(op=OptOps.PADTO, axis=2, amt=32), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.UPCAST, axis=3, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   4   13    2    8   16    3    2    8    3    2    2
testing ast 748
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 3, 1, 7, 1), strides=(0, 7, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 3, 1, 7, 1)
  2    ┗━┳ DIV 
  3      ┣━┳ ADD 
  4      ┃ ┣━┳ MUL 
  5      ┃ ┃ ┣━┳ ADD 
  6      ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(840, 280, 56, 8, 1), offset=0, mask=None, contiguous=True),)))
  7      ┃ ┃ ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  8      ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  9      ┃ ┗━┳ MUL 
 10      ┃   ┣━┳ ADD 
 11      ┃   ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(840, 280, 56, 8, 1), offset=0, mask=None, contiguous=True),)))
 12      ┃   ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 13      ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(0, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
 14      ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 5, 7, 8), strides=(40, 0, 8, 0, 1), offset=0, mask=None, contiguous=False),)))
   3    7    2    5    8
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=4)]
   3    7    2    5    2    4
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   7    2    5    2    4    3
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2    5    2    4    3    7
applied opts: [Opt(op=OptOps.UNROLL, axis=2, amt=4), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=2, amt=0)]
   2    5    4    3    7    2
testing ast 749
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 26, 3, 1, 1, 4, 1, 1, 1, 1), strides=(2808, 312, 12, 4, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 9, 26, 3, 1, 1, 4, 1, 1, 1, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 26, 3, 1, 1, 4, 1, 4, 3, 3), strides=(3696, 336, 12, 4, 0, 0, 0, 0, 1, 336, 12), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 9, 26, 3, 1, 1, 4, 1, 4, 3, 3), strides=(0, 0, 0, 144, 0, 0, 1, 0, 4, 48, 16), offset=0, mask=None, contiguous=False),)))
   2    9   26    3    4    4    3    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2)]
   2    9   13    3    4    4    3    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9   13    3    4    4    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4)]
   9   13    3    4    4    3    3    2    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   9   13    3    4    3    3    2    2    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3)]
   3   13    3    4    3    3    2    2    4    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2)]
   3   13    3    2    3    3    2    2    4    3    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=3, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=3, amt=2), Opt(op=OptOps.LOCAL, axis=3, amt=2)]
testing ast 750
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 1024, 1)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1024), strides=(0, 0, 1, 1024), offset=0, mask=None, contiguous=False),)))
1024 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32)]
  32   32 1024
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2)]
  32   16 1024    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  16   16 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4)]
  16    4    4 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   8    4    4    2 1024    2    2
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4)]
   2    4    4    2 1024    2    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    4    2 1024    2    2    4    4
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
   2    4    2    4  256    2    2    4    4
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 117, in fuzz_linearizer
    np.testing.assert_allclose(result, ground_truth, rtol=1e-2, atol=1e-2)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 1590, in assert_allclose
    assert_array_compare(compare, actual, desired, err_msg=str(err_msg),
  File "/usr/lib/python3.10/contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "/home/jebba/devel/tinygrad/tinygrad/venv/lib/python3.10/site-packages/numpy/testing/_private/utils.py", line 862, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Not equal to tolerance rtol=0.01, atol=0.01

Mismatched elements: 145 / 2048 (7.08%)
Max absolute difference: 4.
Max relative difference: 0.01698
 x: array([247.8, 259.8, 245.9, ...,   0. ,   0. ,   0. ], dtype=float16)
 y: array([246. , 256.2, 245.4, ...,   0. ,   0. ,   0. ], dtype=float16)
LazyOp(op=BufferOps.STORE, src=(LazyOp(op=ReduceOps.SUM, src=(LazyOp(op=BinaryOps.MUL, src=(LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1024), strides=(0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))), LazyOp(op=BufferOps.LOAD, src=(), arg=MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1024), strides=(0, 0, 1, 1024), offset=0, mask=None, contiguous=False),))))), arg=None),), arg=(1, 1, 1024, 1)),), arg=MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(1, 1, 1024, 1), strides=(0, 0, 1, 0), offset=0, mask=None, contiguous=True),))))
[Opt(op=OptOps.LOCAL, axis=0, amt=32), Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=1, amt=4), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.GROUP, axis=0, amt=4)]
COMPARE FAILED!!
testing ast 751
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(9, 1), strides=(1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ CAST (dtypes.float, False)
  2    ┗━┳ CMPEQ 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(9, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━┳ ADD 
  5        ┣━┳ SUM (9, 1)
  6        ┃ ┗━━ CONST ConstBuffer(val=1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(10, 17), strides=(0, 0), offset=0, mask=((0, 10), (8, 17)), contiguous=False), View(shape=(9, 9), strides=(1, 18), offset=0, mask=None, contiguous=False))))
  7        ┗━━ CONST ConstBuffer(val=-1.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(9, 1), strides=(0, 0), offset=0, mask=None, contiguous=False),)))
   9    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   3    3    9
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    9    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   9    3    3
applied opts: [Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   3    3    9
testing ast 752
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1, 1, 4, 1, 1, 4, 3, 3), strides=(0, 0, 36, 0, 0, 9, 3, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1, 1, 4, 1, 1, 4, 3, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 4, 4, 11, 4, 9), strides=(324, 81, 0, 9, 0, 1), offset=-9, mask=((0, 2), (0, 4), (0, 4), (1, 10), (0, 4), (0, 9)), contiguous=False), View(shape=(2, 1, 4, 9, 7, 4, 3, 3), strides=(6336, 0, 0, 36, 1, 1584, 432, 10), offset=0, mask=None, contiguous=False))))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 1, 4, 9, 7, 4, 3, 3), strides=(252, 0, 63, 7, 1, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
   4    4    3    3    2    9    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   4    2    3    3    2    2    9    7
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   4    3    3    2    2    9    7    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   3    3    2    2    9    7    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0)]
   3    3    2    2    7    2    4    9
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0)]
   3    2    2    7    2    4    9    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=1, amt=0), Opt(op=OptOps.UPCAST, axis=1, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
testing ast 753
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ MAX (1,)
  2    ┗━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(32000,), strides=(1,), offset=96000, mask=None, contiguous=False),)))
32000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8 4000
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
4000    8
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
1000    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8)]
   8  125    8    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2  125    8    4    4
applied opts: [Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.GROUP, axis=0, amt=8), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
 125    8    4    4    2
testing ast 754
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=27264, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 755
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 1, 5, 1, 3, 4), strides=(720, 240, 60, 0, 0, 0, 0, 12, 0, 4, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (2, 3, 4, 1, 1, 1, 1, 5, 1, 3, 4)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 6, 5, 1, 3, 4), strides=(0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(2, 3, 4, 1, 1, 1, 6, 5, 1, 3, 4), strides=(1080, 360, 0, 0, 0, 0, 60, 12, 0, 4, 1), offset=0, mask=None, contiguous=False),)))
   6    4   60    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2)]
   6    2   60    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   2   60    6    2    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
   2   60    2    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  60    2    2    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  30    2    2    2    6    6
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2)]
  15    2    2    2    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3)]
   5    2    2    3    2    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2)]
   5    2    3    2    2    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=3)]
   5    2    2    3    2    6    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=1, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=3), Opt(op=OptOps.LOCAL, axis=1, amt=2), Opt(op=OptOps.LOCAL, axis=2, amt=3), Opt(op=OptOps.LOCAL, axis=3, amt=3)]
testing ast 756
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 1, 11, 5, 1, 3), strides=(165, 0, 0, 0, 15, 3, 0, 1), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (4, 1, 1, 1, 11, 5, 1, 3)
  2    ┗━┳ MUL 
  3      ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 6, 11, 5, 1, 3), strides=(0, 0, 0, 3, 0, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  4      ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 1, 1, 6, 11, 5, 1, 3), strides=(330, 0, 0, 55, 5, 1, 0, 0), offset=0, mask=None, contiguous=False),)))
   4   55    3    6
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   4   55    6    3
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
  55    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32)]
  64    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  32    2    6    3    4
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0)]
  32    2    3    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    2    3    4    6
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
  16    2    3    4    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
   2   16    3    4    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
  16    2    3    4    6    2
applied opts: [Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.PADTO, axis=0, amt=32), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=16), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=16)]
testing ast 757
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(384, 0, 1, 0), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ ADD 
  2    ┣━┳ SUM (2, 1, 384, 1)
  3    ┃ ┗━┳ MUL 
  4    ┃   ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(51864, 0, 0, 1), offset=0, mask=None, contiguous=False),)))
  5    ┃   ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 51864), strides=(0, 0, 1, 384), offset=0, mask=None, contiguous=False),)))
  6    ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.half, st=ShapeTracker(views=(View(shape=(2, 1, 384, 1), strides=(0, 0, 1, 0), offset=68352, mask=None, contiguous=False),)))
   2  384 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16)]
   2   24   16 51864
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3)]
   2    8   16 51864    3
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0)]
   8   16 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8)]
   8    2    8 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   4    2    8    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    8    2    2 51864    3    2
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4)]
   2    2    8    2    2 12966    3    2    4
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
applied opts: [Opt(op=OptOps.LOCAL, axis=1, amt=16), Opt(op=OptOps.UPCAST, axis=1, amt=3), Opt(op=OptOps.UPCAST, axis=0, amt=0), Opt(op=OptOps.LOCAL, axis=1, amt=8), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.UNROLL, axis=0, amt=4), Opt(op=OptOps.UPCAST, axis=2, amt=0), Opt(op=OptOps.LOCAL, axis=0, amt=2), Opt(op=OptOps.LOCAL, axis=0, amt=2)]
   2    2    2    2 12966    3    2    4    8
testing ast 758
  0 ━┳ STORE MemBuffer(idx=0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(1,), strides=(0,), offset=0, mask=None, contiguous=True),)))
  1  ┗━┳ SUM (1,)
  2    ┗━┳ CAST (dtypes.int, False)
  3      ┗━┳ CMPLT 
  4        ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  5        ┗━┳ CAST (dtypes.int, False)
  6          ┗━┳ MUL 
  7            ┣━┳ NEG 
  8            ┃ ┗━┳ CMPLT 
  9            ┃   ┣━┳ ADD 
 10            ┃   ┃ ┣━┳ ADD 
 11            ┃   ┃ ┃ ┣━┳ ADD 
 12            ┃   ┃ ┃ ┃ ┣━┳ ADD 
 13            ┃   ┃ ┃ ┃ ┃ ┣━┳ ADD 
 14            ┃   ┃ ┃ ┃ ┃ ┃ ┣━┳ ADD 
 15            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┣━┳ NEG 
 16            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ WHERE 
 17            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┣━┳ CMPLT 
 18            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┣━┳ NEG 
 19            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃ ┗━┳ WHERE 
 20            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┣━┳ CMPLT 
 21            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┣━┳ ADD 
 22            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┣━┳ ADD 
 23            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
 24            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 25            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 26            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 27            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 28            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 29            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┣━┳ CAST (dtypes.float, False)
 30            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 31            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┗━┳ WHERE 
 32            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┣━┳ CMPLT 
 33            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 34            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ ADD 
 35            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┣━┳ ADD 
 36            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┣━┳ ADD 
 37            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 38            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 39            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 40            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 41            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┣━┳ ADD 
 42            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┣━┳ ADD 
 43            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┣━┳ ADD 
 44            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 45            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 46            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 47            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 48            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┗━┳ MUL 
 49            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┣━┳ ADD 
 50            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┣━┳ ADD 
 51            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┣━┳ ADD 
 52            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 53            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 54            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 55            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 56            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 57            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 58            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┣━┳ CAST (dtypes.float, False)
 59            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 60            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┗━┳ WHERE 
 61            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
 62            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 63            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━┳ NEG 
 64            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┗━┳ WHERE 
 65            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
 66            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
 67            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
 68            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━┳ ADD 
 69            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 70            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 71            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 72            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 73            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 74            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ CAST (dtypes.float, False)
 75            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 76            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┗━┳ WHERE 
 77            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┣━┳ CMPLT 
 78            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 79            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┗━┳ ADD 
 80            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┣━┳ ADD 
 81            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┣━┳ ADD 
 82            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 83            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 84            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 85            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 86            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┣━┳ ADD 
 87            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
 88            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
 89            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 90            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 91            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 92            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 93            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┗━┳ MUL 
 94            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┣━┳ ADD 
 95            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┣━┳ ADD 
 96            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┣━┳ ADD 
 97            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 98            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
 99            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
100            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
101            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
102            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ NEG 
103            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━┳ WHERE 
104            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┣━┳ CMPLT 
105            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┣━┳ ADD 
106            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┣━┳ ADD 
107            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┣━┳ ADD 
108            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
109            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
110            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
111            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
112            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
113            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┣━┳ CAST (dtypes.float, False)
114            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
115            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┗━┳ WHERE 
116            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
117            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
118            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━┳ ADD 
119            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┣━┳ ADD 
120            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┣━┳ ADD 
121            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
122            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
123            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
124            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
125            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ ADD 
126            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
127            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
128            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
129            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
130            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
131            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
132            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┗━┳ MUL 
133            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┣━┳ ADD 
134            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
135            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
136            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
137            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
138            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
139            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
140            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
141            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┗━┳ MUL 
142            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┣━┳ ADD 
143            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┣━┳ NEG 
144            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃ ┗━┳ WHERE 
145            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┣━┳ CMPLT 
146            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┣━┳ ADD 
147            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┣━┳ ADD 
148            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
149            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
150            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
151            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
152            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
153            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
154            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┣━┳ CAST (dtypes.float, False)
155            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
156            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┗━┳ WHERE 
157            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┣━┳ CMPLT 
158            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
159            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┗━┳ ADD 
160            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┣━┳ ADD 
161            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┣━┳ ADD 
162            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
163            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
164            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
165            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
166            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┣━┳ ADD 
167            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┣━┳ ADD 
168            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┣━┳ ADD 
169            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
170            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
171            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
172            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
173            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
174            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┣━┳ ADD 
175            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┣━┳ ADD 
176            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┣━┳ ADD 
177            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
178            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
179            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
180            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
181            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
182            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
183            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
184            ┃   ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ NEG 
185            ┃   ┃ ┃ ┃ ┃ ┃ ┃   ┗━┳ WHERE 
186            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
187            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┣━┳ NEG 
188            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃ ┗━┳ WHERE 
189            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
190            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
191            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
192            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
193            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
194            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
195            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
196            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
197            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
198            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
199            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
200            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┗━┳ WHERE 
201            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
202            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
203            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
204            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
205            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
206            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
207            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
208            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
209            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
210            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ ADD 
211            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
212            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
213            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
214            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
215            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
216            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
217            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┗━┳ MUL 
218            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┣━┳ ADD 
219            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
220            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
221            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
222            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
223            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
224            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
225            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
226            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
227            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ CAST (dtypes.float, False)
228            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
229            ┃   ┃ ┃ ┃ ┃ ┃ ┃     ┗━┳ WHERE 
230            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┣━┳ CMPLT 
231            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
232            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ NEG 
233            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
234            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
235            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
236            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
237            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
238            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
239            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
240            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
241            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
242            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
243            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
244            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
245            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ WHERE 
246            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ CMPLT 
247            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
248            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━┳ ADD 
249            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┣━┳ ADD 
250            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
251            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
252            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
253            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
254            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
255            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
256            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
257            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
258            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
259            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
260            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
261            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
262            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┗━┳ MUL 
263            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┣━┳ ADD 
264            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┣━┳ ADD 
265            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
266            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
267            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
268            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
269            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
270            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
271            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┣━┳ NEG 
272            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ WHERE 
273            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CMPLT 
274            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┣━┳ ADD 
275            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
276            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
277            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
278            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
279            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
280            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
281            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
282            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
283            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
284            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
285            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
286            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
287            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━┳ ADD 
288            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┣━┳ ADD 
289            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
290            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
291            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
292            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
293            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
294            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ ADD 
295            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
296            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
297            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
298            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
299            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
300            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
301            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ MUL 
302            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
303            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
304            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
305            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
306            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
307            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
308            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
309            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
310            ┃   ┃ ┃ ┃ ┃ ┃ ┃       ┗━┳ MUL 
311            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┣━┳ ADD 
312            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ NEG 
313            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━┳ WHERE 
314            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
315            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
316            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
317            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
318            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
319            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
320            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
321            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
322            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
323            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
324            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
325            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┗━┳ WHERE 
326            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
327            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
328            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
329            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
330            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
331            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
332            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
333            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
334            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
335            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ ADD 
336            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
337            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
338            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
339            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
340            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
341            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
342            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┗━┳ MUL 
343            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┣━┳ ADD 
344            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
345            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
346            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
347            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
348            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
349            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
350            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
351            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
352            ┃   ┃ ┃ ┃ ┃ ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
353            ┃   ┃ ┃ ┃ ┃ ┃ ┗━┳ NEG 
354            ┃   ┃ ┃ ┃ ┃ ┃   ┗━┳ WHERE 
355            ┃   ┃ ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
356            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┣━┳ NEG 
357            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃ ┗━┳ WHERE 
358            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
359            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
360            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
361            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
362            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
363            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
364            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
365            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
366            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
367            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
368            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
369            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┗━┳ WHERE 
370            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
371            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
372            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
373            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
374            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
375            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
376            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
377            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
378            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
379            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ ADD 
380            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
381            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
382            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
383            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
384            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
385            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
386            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┗━┳ MUL 
387            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┣━┳ ADD 
388            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
389            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
390            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
391            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
392            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
393            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
394            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
395            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
396            ┃   ┃ ┃ ┃ ┃ ┃     ┣━┳ CAST (dtypes.float, False)
397            ┃   ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
398            ┃   ┃ ┃ ┃ ┃ ┃     ┗━┳ WHERE 
399            ┃   ┃ ┃ ┃ ┃ ┃       ┣━┳ CMPLT 
400            ┃   ┃ ┃ ┃ ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
401            ┃   ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ NEG 
402            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
403            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
404            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
405            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
406            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
407            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
408            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
409            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
410            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
411            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
412            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
413            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
414            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ WHERE 
415            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ CMPLT 
416            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
417            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━┳ ADD 
418            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┣━┳ ADD 
419            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
420            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
421            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
422            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
423            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
424            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
425            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
426            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
427            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
428            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
429            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
430            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
431            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┗━┳ MUL 
432            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┣━┳ ADD 
433            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┣━┳ ADD 
434            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
435            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
436            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
437            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
438            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
439            ┃   ┃ ┃ ┃ ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
440            ┃   ┃ ┃ ┃ ┃ ┃       ┣━┳ NEG 
441            ┃   ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ WHERE 
442            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CMPLT 
443            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┣━┳ ADD 
444            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
445            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
446            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
447            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
448            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
449            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
450            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
451            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
452            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
453            ┃   ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
454            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
455            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
456            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━┳ ADD 
457            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┣━┳ ADD 
458            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
459            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
460            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
461            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
462            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
463            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ ADD 
464            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
465            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
466            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
467            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
468            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
469            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
470            ┃   ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ MUL 
471            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
472            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
473            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
474            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
475            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
476            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
477            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
478            ┃   ┃ ┃ ┃ ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
479            ┃   ┃ ┃ ┃ ┃ ┃       ┗━┳ MUL 
480            ┃   ┃ ┃ ┃ ┃ ┃         ┣━┳ ADD 
481            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ NEG 
482            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━┳ WHERE 
483            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
484            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
485            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
486            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
487            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
488            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
489            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
490            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
491            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
492            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
493            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
494            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┗━┳ WHERE 
495            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
496            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
497            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
498            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
499            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
500            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
501            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
502            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
503            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
504            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ ADD 
505            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
506            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
507            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
508            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
509            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
510            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
511            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┗━┳ MUL 
512            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┣━┳ ADD 
513            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
514            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
515            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
516            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
517            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
518            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
519            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
520            ┃   ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
521            ┃   ┃ ┃ ┃ ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
522            ┃   ┃ ┃ ┃ ┃ ┗━┳ NEG 
523            ┃   ┃ ┃ ┃ ┃   ┗━┳ WHERE 
524            ┃   ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
525            ┃   ┃ ┃ ┃ ┃     ┃ ┣━┳ NEG 
526            ┃   ┃ ┃ ┃ ┃     ┃ ┃ ┗━┳ WHERE 
527            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
528            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
529            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
530            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
531            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
532            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
533            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
534            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
535            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
536            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
537            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
538            ┃   ┃ ┃ ┃ ┃     ┃ ┃   ┗━┳ WHERE 
539            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
540            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
541            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
542            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
543            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
544            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
545            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
546            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
547            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
548            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ ADD 
549            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
550            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
551            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
552            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
553            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
554            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
555            ┃   ┃ ┃ ┃ ┃     ┃ ┃     ┗━┳ MUL 
556            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┣━┳ ADD 
557            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
558            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
559            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
560            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
561            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
562            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
563            ┃   ┃ ┃ ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
564            ┃   ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
565            ┃   ┃ ┃ ┃ ┃     ┣━┳ CAST (dtypes.float, False)
566            ┃   ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
567            ┃   ┃ ┃ ┃ ┃     ┗━┳ WHERE 
568            ┃   ┃ ┃ ┃ ┃       ┣━┳ CMPLT 
569            ┃   ┃ ┃ ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
570            ┃   ┃ ┃ ┃ ┃       ┃ ┗━┳ NEG 
571            ┃   ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
572            ┃   ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
573            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
574            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
575            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
576            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
577            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
578            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
579            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
580            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
581            ┃   ┃ ┃ ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
582            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
583            ┃   ┃ ┃ ┃ ┃       ┃     ┗━┳ WHERE 
584            ┃   ┃ ┃ ┃ ┃       ┃       ┣━┳ CMPLT 
585            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
586            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┗━┳ ADD 
587            ┃   ┃ ┃ ┃ ┃       ┃       ┃   ┣━┳ ADD 
588            ┃   ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
589            ┃   ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
590            ┃   ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
591            ┃   ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
592            ┃   ┃ ┃ ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
593            ┃   ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
594            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
595            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
596            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
597            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
598            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
599            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
600            ┃   ┃ ┃ ┃ ┃       ┃       ┗━┳ MUL 
601            ┃   ┃ ┃ ┃ ┃       ┃         ┣━┳ ADD 
602            ┃   ┃ ┃ ┃ ┃       ┃         ┃ ┣━┳ ADD 
603            ┃   ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
604            ┃   ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
605            ┃   ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
606            ┃   ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
607            ┃   ┃ ┃ ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
608            ┃   ┃ ┃ ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
609            ┃   ┃ ┃ ┃ ┃       ┣━┳ NEG 
610            ┃   ┃ ┃ ┃ ┃       ┃ ┗━┳ WHERE 
611            ┃   ┃ ┃ ┃ ┃       ┃   ┣━┳ CMPLT 
612            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┣━┳ ADD 
613            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
614            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
615            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
616            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
617            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
618            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
619            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
620            ┃   ┃ ┃ ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
621            ┃   ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
622            ┃   ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
623            ┃   ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
624            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
625            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┗━┳ ADD 
626            ┃   ┃ ┃ ┃ ┃       ┃     ┃   ┣━┳ ADD 
627            ┃   ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
628            ┃   ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
629            ┃   ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
630            ┃   ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
631            ┃   ┃ ┃ ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
632            ┃   ┃ ┃ ┃ ┃       ┃     ┣━┳ ADD 
633            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
634            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
635            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
636            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
637            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
638            ┃   ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
639            ┃   ┃ ┃ ┃ ┃       ┃     ┗━┳ MUL 
640            ┃   ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
641            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
642            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
643            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
644            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
645            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
646            ┃   ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
647            ┃   ┃ ┃ ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
648            ┃   ┃ ┃ ┃ ┃       ┗━┳ MUL 
649            ┃   ┃ ┃ ┃ ┃         ┣━┳ ADD 
650            ┃   ┃ ┃ ┃ ┃         ┃ ┣━┳ NEG 
651            ┃   ┃ ┃ ┃ ┃         ┃ ┃ ┗━┳ WHERE 
652            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
653            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
654            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
655            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
656            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
657            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
658            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
659            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
660            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
661            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
662            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
663            ┃   ┃ ┃ ┃ ┃         ┃ ┃   ┗━┳ WHERE 
664            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
665            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
666            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
667            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
668            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
669            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
670            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
671            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
672            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
673            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ ADD 
674            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
675            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
676            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
677            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
678            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
679            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
680            ┃   ┃ ┃ ┃ ┃         ┃ ┃     ┗━┳ MUL 
681            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┣━┳ ADD 
682            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
683            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
684            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
685            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
686            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
687            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
688            ┃   ┃ ┃ ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
689            ┃   ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
690            ┃   ┃ ┃ ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
691            ┃   ┃ ┃ ┃ ┗━┳ ADD 
692            ┃   ┃ ┃ ┃   ┣━┳ ADD 
693            ┃   ┃ ┃ ┃   ┃ ┣━┳ ADD 
694            ┃   ┃ ┃ ┃   ┃ ┃ ┣━┳ NEG 
695            ┃   ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ WHERE 
696            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ CMPLT 
697            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ NEG 
698            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━┳ WHERE 
699            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┣━┳ CMPLT 
700            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┣━┳ ADD 
701            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┣━┳ ADD 
702            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
703            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
704            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
705            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
706            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
707            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
708            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┣━┳ CAST (dtypes.float, False)
709            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
710            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┗━┳ WHERE 
711            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┣━┳ CMPLT 
712            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
713            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ ADD 
714            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┣━┳ ADD 
715            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┣━┳ ADD 
716            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
717            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
718            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
719            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
720            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┣━┳ ADD 
721            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┣━┳ ADD 
722            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┣━┳ ADD 
723            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
724            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
725            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
726            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
727            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┗━┳ MUL 
728            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┣━┳ ADD 
729            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┣━┳ ADD 
730            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┣━┳ ADD 
731            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
732            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
733            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
734            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
735            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
736            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
737            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ CAST (dtypes.float, False)
738            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
739            ┃   ┃ ┃ ┃   ┃ ┃ ┃   ┗━┳ WHERE 
740            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┣━┳ CMPLT 
741            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
742            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃ ┗━┳ NEG 
743            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┗━┳ WHERE 
744            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
745            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
746            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
747            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━┳ ADD 
748            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
749            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
750            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
751            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
752            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
753            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ CAST (dtypes.float, False)
754            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
755            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┗━┳ WHERE 
756            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┣━┳ CMPLT 
757            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
758            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┗━┳ ADD 
759            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┣━┳ ADD 
760            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┣━┳ ADD 
761            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
762            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
763            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
764            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
765            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┣━┳ ADD 
766            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
767            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
768            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
769            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
770            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
771            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
772            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┗━┳ MUL 
773            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┣━┳ ADD 
774            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┣━┳ ADD 
775            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┣━┳ ADD 
776            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
777            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
778            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
779            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
780            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
781            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┣━┳ NEG 
782            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃ ┗━┳ WHERE 
783            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┣━┳ CMPLT 
784            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┣━┳ ADD 
785            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┣━┳ ADD 
786            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┣━┳ ADD 
787            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
788            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
789            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
790            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
791            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
792            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┣━┳ CAST (dtypes.float, False)
793            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
794            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┗━┳ WHERE 
795            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
796            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
797            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━┳ ADD 
798            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┣━┳ ADD 
799            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┣━┳ ADD 
800            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
801            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
802            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
803            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
804            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ ADD 
805            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
806            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
807            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
808            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
809            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
810            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
811            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┗━┳ MUL 
812            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┣━┳ ADD 
813            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
814            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
815            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
816            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
817            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
818            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
819            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
820            ┃   ┃ ┃ ┃   ┃ ┃ ┃     ┗━┳ MUL 
821            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┣━┳ ADD 
822            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┣━┳ NEG 
823            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃ ┗━┳ WHERE 
824            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┣━┳ CMPLT 
825            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┣━┳ ADD 
826            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┣━┳ ADD 
827            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
828            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
829            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
830            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
831            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
832            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
833            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┣━┳ CAST (dtypes.float, False)
834            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
835            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┗━┳ WHERE 
836            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┣━┳ CMPLT 
837            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
838            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┗━┳ ADD 
839            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┣━┳ ADD 
840            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┣━┳ ADD 
841            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
842            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
843            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
844            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
845            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┣━┳ ADD 
846            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┣━┳ ADD 
847            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┣━┳ ADD 
848            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
849            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
850            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
851            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
852            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
853            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┣━┳ ADD 
854            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┣━┳ ADD 
855            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┣━┳ ADD 
856            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
857            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
858            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
859            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
860            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
861            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
862            ┃   ┃ ┃ ┃   ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
863            ┃   ┃ ┃ ┃   ┃ ┃ ┗━┳ NEG 
864            ┃   ┃ ┃ ┃   ┃ ┃   ┗━┳ WHERE 
865            ┃   ┃ ┃ ┃   ┃ ┃     ┣━┳ CMPLT 
866            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┣━┳ NEG 
867            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┗━┳ WHERE 
868            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
869            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
870            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
871            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
872            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
873            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
874            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
875            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
876            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
877            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
878            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
879            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┗━┳ WHERE 
880            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
881            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
882            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
883            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
884            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
885            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
886            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
887            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
888            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
889            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┣━┳ ADD 
890            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
891            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
892            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
893            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
894            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
895            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
896            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┗━┳ MUL 
897            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┣━┳ ADD 
898            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
899            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
900            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
901            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
902            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
903            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
904            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
905            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
906            ┃   ┃ ┃ ┃   ┃ ┃     ┣━┳ CAST (dtypes.float, False)
907            ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
908            ┃   ┃ ┃ ┃   ┃ ┃     ┗━┳ WHERE 
909            ┃   ┃ ┃ ┃   ┃ ┃       ┣━┳ CMPLT 
910            ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
911            ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┗━┳ NEG 
912            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┗━┳ WHERE 
913            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ CMPLT 
914            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┣━┳ ADD 
915            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
916            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
917            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
918            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
919            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
920            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
921            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
922            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
923            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
924            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┗━┳ WHERE 
925            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┣━┳ CMPLT 
926            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
927            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┗━┳ ADD 
928            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┣━┳ ADD 
929            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
930            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
931            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
932            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
933            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
934            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┣━┳ ADD 
935            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┣━┳ ADD 
936            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
937            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
938            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
939            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
940            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
941            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┗━┳ MUL 
942            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┣━┳ ADD 
943            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┣━┳ ADD 
944            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
945            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
946            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
947            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
948            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
949            ┃   ┃ ┃ ┃   ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
950            ┃   ┃ ┃ ┃   ┃ ┃       ┣━┳ NEG 
951            ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┗━┳ WHERE 
952            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┣━┳ CMPLT 
953            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┣━┳ ADD 
954            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
955            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
956            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
957            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
958            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
959            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
960            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
961            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
962            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
963            ┃   ┃ ┃ ┃   ┃ ┃       ┃   ┗━┳ WHERE 
964            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ CMPLT 
965            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
966            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━┳ ADD 
967            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┣━┳ ADD 
968            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
969            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
970            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
971            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
972            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
973            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ ADD 
974            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┣━┳ ADD 
975            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
976            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
977            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
978            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
979            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
980            ┃   ┃ ┃ ┃   ┃ ┃       ┃     ┗━┳ MUL 
981            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┣━┳ ADD 
982            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┣━┳ ADD 
983            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
984            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
985            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
986            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
987            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
988            ┃   ┃ ┃ ┃   ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
989            ┃   ┃ ┃ ┃   ┃ ┃       ┗━┳ MUL 
990            ┃   ┃ ┃ ┃   ┃ ┃         ┣━┳ ADD 
991            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┣━┳ NEG 
992            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃ ┗━┳ WHERE 
993            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
994            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
995            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
996            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
997            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
998            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
999            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1000            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1001            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1002            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1003            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1004            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┗━┳ WHERE 
1005            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
1006            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1007            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
1008            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
1009            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
1010            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1011            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1012            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1013            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1014            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┣━┳ ADD 
1015            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
1016            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
1017            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1018            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1019            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1020            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1021            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┗━┳ MUL 
1022            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┣━┳ ADD 
1023            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
1024            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
1025            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1026            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1027            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1028            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1029            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1030            ┃   ┃ ┃ ┃   ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1031            ┃   ┃ ┃ ┃   ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1032            ┃   ┃ ┃ ┃   ┃ ┗━┳ NEG 
1033            ┃   ┃ ┃ ┃   ┃   ┗━┳ WHERE 
1034            ┃   ┃ ┃ ┃   ┃     ┣━┳ CMPLT 
1035            ┃   ┃ ┃ ┃   ┃     ┃ ┣━┳ NEG 
1036            ┃   ┃ ┃ ┃   ┃     ┃ ┃ ┗━┳ WHERE 
1037            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┣━┳ CMPLT 
1038            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┣━┳ ADD 
1039            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
1040            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1041            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1042            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1043            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1044            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1045            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1046            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1047            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1048            ┃   ┃ ┃ ┃   ┃     ┃ ┃   ┗━┳ WHERE 
1049            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┣━┳ CMPLT 
1050            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1051            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┗━┳ ADD 
1052            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┣━┳ ADD 
1053            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
1054            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1055            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1056            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1057            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1058            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┣━┳ ADD 
1059            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┣━┳ ADD 
1060            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
1061            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1062            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1063            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1064            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1065            ┃   ┃ ┃ ┃   ┃     ┃ ┃     ┗━┳ MUL 
1066            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┣━┳ ADD 
1067            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┣━┳ ADD 
1068            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
1069            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1070            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1071            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1072            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1073            ┃   ┃ ┃ ┃   ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1074            ┃   ┃ ┃ ┃   ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1075            ┃   ┃ ┃ ┃   ┃     ┣━┳ CAST (dtypes.float, False)
1076            ┃   ┃ ┃ ┃   ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1077            ┃   ┃ ┃ ┃   ┃     ┗━┳ WHERE 
1078            ┃   ┃ ┃ ┃   ┃       ┣━┳ CMPLT 
1079            ┃   ┃ ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1080            ┃   ┃ ┃ ┃   ┃       ┃ ┗━┳ NEG 
1081            ┃   ┃ ┃ ┃   ┃       ┃   ┗━┳ WHERE 
1082            ┃   ┃ ┃ ┃   ┃       ┃     ┣━┳ CMPLT 
1083            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┣━┳ ADD 
1084            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┣━┳ ADD 
1085            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
1086            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1087            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1088            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1089            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1090            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1091            ┃   ┃ ┃ ┃   ┃       ┃     ┣━┳ CAST (dtypes.float, False)
1092            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1093            ┃   ┃ ┃ ┃   ┃       ┃     ┗━┳ WHERE 
1094            ┃   ┃ ┃ ┃   ┃       ┃       ┣━┳ CMPLT 
1095            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1096            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┗━┳ ADD 
1097            ┃   ┃ ┃ ┃   ┃       ┃       ┃   ┣━┳ ADD 
1098            ┃   ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┣━┳ ADD 
1099            ┃   ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1100            ┃   ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1101            ┃   ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1102            ┃   ┃ ┃ ┃   ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1103            ┃   ┃ ┃ ┃   ┃       ┃       ┣━┳ ADD 
1104            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┣━┳ ADD 
1105            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┣━┳ ADD 
1106            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1107            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1108            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1109            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1110            ┃   ┃ ┃ ┃   ┃       ┃       ┗━┳ MUL 
1111            ┃   ┃ ┃ ┃   ┃       ┃         ┣━┳ ADD 
1112            ┃   ┃ ┃ ┃   ┃       ┃         ┃ ┣━┳ ADD 
1113            ┃   ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┣━┳ ADD 
1114            ┃   ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1115            ┃   ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1116            ┃   ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1117            ┃   ┃ ┃ ┃   ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1118            ┃   ┃ ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1119            ┃   ┃ ┃ ┃   ┃       ┣━┳ NEG 
1120            ┃   ┃ ┃ ┃   ┃       ┃ ┗━┳ WHERE 
1121            ┃   ┃ ┃ ┃   ┃       ┃   ┣━┳ CMPLT 
1122            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┣━┳ ADD 
1123            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┣━┳ ADD 
1124            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
1125            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1126            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1127            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1128            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1129            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1130            ┃   ┃ ┃ ┃   ┃       ┃   ┣━┳ CAST (dtypes.float, False)
1131            ┃   ┃ ┃ ┃   ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1132            ┃   ┃ ┃ ┃   ┃       ┃   ┗━┳ WHERE 
1133            ┃   ┃ ┃ ┃   ┃       ┃     ┣━┳ CMPLT 
1134            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1135            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┗━┳ ADD 
1136            ┃   ┃ ┃ ┃   ┃       ┃     ┃   ┣━┳ ADD 
1137            ┃   ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┣━┳ ADD 
1138            ┃   ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1139            ┃   ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1140            ┃   ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1141            ┃   ┃ ┃ ┃   ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1142            ┃   ┃ ┃ ┃   ┃       ┃     ┣━┳ ADD 
1143            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┣━┳ ADD 
1144            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┣━┳ ADD 
1145            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1146            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1147            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1148            ┃   ┃ ┃ ┃   ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1149            ┃   ┃ ┃ ┃   ┃       ┃     ┗━┳ MUL 
1150            ┃   ┃ ┃ ┃   ┃       ┃       ┣━┳ ADD 
1151            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┣━┳ ADD 
1152            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┣━┳ ADD 
1153            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1154            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1155            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1156            ┃   ┃ ┃ ┃   ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1157            ┃   ┃ ┃ ┃   ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1158            ┃   ┃ ┃ ┃   ┃       ┗━┳ MUL 
1159            ┃   ┃ ┃ ┃   ┃         ┣━┳ ADD 
1160            ┃   ┃ ┃ ┃   ┃         ┃ ┣━┳ NEG 
1161            ┃   ┃ ┃ ┃   ┃         ┃ ┃ ┗━┳ WHERE 
1162            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┣━┳ CMPLT 
1163            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┣━┳ ADD 
1164            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
1165            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1166            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1167            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1168            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1169            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1170            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1171            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1172            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1173            ┃   ┃ ┃ ┃   ┃         ┃ ┃   ┗━┳ WHERE 
1174            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┣━┳ CMPLT 
1175            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1176            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┗━┳ ADD 
1177            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┣━┳ ADD 
1178            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
1179            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1180            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1181            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1182            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1183            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┣━┳ ADD 
1184            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┣━┳ ADD 
1185            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
1186            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1187            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1188            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1189            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1190            ┃   ┃ ┃ ┃   ┃         ┃ ┃     ┗━┳ MUL 
1191            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┣━┳ ADD 
1192            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┣━┳ ADD 
1193            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
1194            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1195            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1196            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1197            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1198            ┃   ┃ ┃ ┃   ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1199            ┃   ┃ ┃ ┃   ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1200            ┃   ┃ ┃ ┃   ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1201            ┃   ┃ ┃ ┃   ┗━┳ NEG 
1202            ┃   ┃ ┃ ┃     ┗━┳ WHERE 
1203            ┃   ┃ ┃ ┃       ┣━┳ CMPLT 
1204            ┃   ┃ ┃ ┃       ┃ ┣━┳ NEG 
1205            ┃   ┃ ┃ ┃       ┃ ┃ ┗━┳ WHERE 
1206            ┃   ┃ ┃ ┃       ┃ ┃   ┣━┳ CMPLT 
1207            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┣━┳ ADD 
1208            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┣━┳ ADD 
1209            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1210            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1211            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1212            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1213            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1214            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1215            ┃   ┃ ┃ ┃       ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1216            ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1217            ┃   ┃ ┃ ┃       ┃ ┃   ┗━┳ WHERE 
1218            ┃   ┃ ┃ ┃       ┃ ┃     ┣━┳ CMPLT 
1219            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1220            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┗━┳ ADD 
1221            ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┣━┳ ADD 
1222            ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┣━┳ ADD 
1223            ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1224            ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1225            ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1226            ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1227            ┃   ┃ ┃ ┃       ┃ ┃     ┣━┳ ADD 
1228            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┣━┳ ADD 
1229            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┣━┳ ADD 
1230            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1231            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1232            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1233            ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1234            ┃   ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
1235            ┃   ┃ ┃ ┃       ┃ ┃       ┣━┳ ADD 
1236            ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┣━┳ ADD 
1237            ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┣━┳ ADD 
1238            ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1239            ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1240            ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1241            ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1242            ┃   ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1243            ┃   ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1244            ┃   ┃ ┃ ┃       ┣━┳ CAST (dtypes.float, False)
1245            ┃   ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1246            ┃   ┃ ┃ ┃       ┗━┳ WHERE 
1247            ┃   ┃ ┃ ┃         ┣━┳ CMPLT 
1248            ┃   ┃ ┃ ┃         ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1249            ┃   ┃ ┃ ┃         ┃ ┗━┳ NEG 
1250            ┃   ┃ ┃ ┃         ┃   ┗━┳ WHERE 
1251            ┃   ┃ ┃ ┃         ┃     ┣━┳ CMPLT 
1252            ┃   ┃ ┃ ┃         ┃     ┃ ┣━┳ ADD 
1253            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┣━┳ ADD 
1254            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┣━┳ ADD 
1255            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1256            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1257            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1258            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1259            ┃   ┃ ┃ ┃         ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1260            ┃   ┃ ┃ ┃         ┃     ┣━┳ CAST (dtypes.float, False)
1261            ┃   ┃ ┃ ┃         ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1262            ┃   ┃ ┃ ┃         ┃     ┗━┳ WHERE 
1263            ┃   ┃ ┃ ┃         ┃       ┣━┳ CMPLT 
1264            ┃   ┃ ┃ ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1265            ┃   ┃ ┃ ┃         ┃       ┃ ┗━┳ ADD 
1266            ┃   ┃ ┃ ┃         ┃       ┃   ┣━┳ ADD 
1267            ┃   ┃ ┃ ┃         ┃       ┃   ┃ ┣━┳ ADD 
1268            ┃   ┃ ┃ ┃         ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1269            ┃   ┃ ┃ ┃         ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1270            ┃   ┃ ┃ ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1271            ┃   ┃ ┃ ┃         ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1272            ┃   ┃ ┃ ┃         ┃       ┣━┳ ADD 
1273            ┃   ┃ ┃ ┃         ┃       ┃ ┣━┳ ADD 
1274            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┣━┳ ADD 
1275            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1276            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1277            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1278            ┃   ┃ ┃ ┃         ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1279            ┃   ┃ ┃ ┃         ┃       ┗━┳ MUL 
1280            ┃   ┃ ┃ ┃         ┃         ┣━┳ ADD 
1281            ┃   ┃ ┃ ┃         ┃         ┃ ┣━┳ ADD 
1282            ┃   ┃ ┃ ┃         ┃         ┃ ┃ ┣━┳ ADD 
1283            ┃   ┃ ┃ ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1284            ┃   ┃ ┃ ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1285            ┃   ┃ ┃ ┃         ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1286            ┃   ┃ ┃ ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1287            ┃   ┃ ┃ ┃         ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1288            ┃   ┃ ┃ ┃         ┣━┳ NEG 
1289            ┃   ┃ ┃ ┃         ┃ ┗━┳ WHERE 
1290            ┃   ┃ ┃ ┃         ┃   ┣━┳ CMPLT 
1291            ┃   ┃ ┃ ┃         ┃   ┃ ┣━┳ ADD 
1292            ┃   ┃ ┃ ┃         ┃   ┃ ┃ ┣━┳ ADD 
1293            ┃   ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┣━┳ ADD 
1294            ┃   ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1295            ┃   ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1296            ┃   ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1297            ┃   ┃ ┃ ┃         ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1298            ┃   ┃ ┃ ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1299            ┃   ┃ ┃ ┃         ┃   ┣━┳ CAST (dtypes.float, False)
1300            ┃   ┃ ┃ ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1301            ┃   ┃ ┃ ┃         ┃   ┗━┳ WHERE 
1302            ┃   ┃ ┃ ┃         ┃     ┣━┳ CMPLT 
1303            ┃   ┃ ┃ ┃         ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1304            ┃   ┃ ┃ ┃         ┃     ┃ ┗━┳ ADD 
1305            ┃   ┃ ┃ ┃         ┃     ┃   ┣━┳ ADD 
1306            ┃   ┃ ┃ ┃         ┃     ┃   ┃ ┣━┳ ADD 
1307            ┃   ┃ ┃ ┃         ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1308            ┃   ┃ ┃ ┃         ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1309            ┃   ┃ ┃ ┃         ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1310            ┃   ┃ ┃ ┃         ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1311            ┃   ┃ ┃ ┃         ┃     ┣━┳ ADD 
1312            ┃   ┃ ┃ ┃         ┃     ┃ ┣━┳ ADD 
1313            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┣━┳ ADD 
1314            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1315            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1316            ┃   ┃ ┃ ┃         ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1317            ┃   ┃ ┃ ┃         ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1318            ┃   ┃ ┃ ┃         ┃     ┗━┳ MUL 
1319            ┃   ┃ ┃ ┃         ┃       ┣━┳ ADD 
1320            ┃   ┃ ┃ ┃         ┃       ┃ ┣━┳ ADD 
1321            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┣━┳ ADD 
1322            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1323            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1324            ┃   ┃ ┃ ┃         ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1325            ┃   ┃ ┃ ┃         ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1326            ┃   ┃ ┃ ┃         ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1327            ┃   ┃ ┃ ┃         ┗━┳ MUL 
1328            ┃   ┃ ┃ ┃           ┣━┳ ADD 
1329            ┃   ┃ ┃ ┃           ┃ ┣━┳ NEG 
1330            ┃   ┃ ┃ ┃           ┃ ┃ ┗━┳ WHERE 
1331            ┃   ┃ ┃ ┃           ┃ ┃   ┣━┳ CMPLT 
1332            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┣━┳ ADD 
1333            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┣━┳ ADD 
1334            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1335            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1336            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1337            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1338            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1339            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1340            ┃   ┃ ┃ ┃           ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1341            ┃   ┃ ┃ ┃           ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1342            ┃   ┃ ┃ ┃           ┃ ┃   ┗━┳ WHERE 
1343            ┃   ┃ ┃ ┃           ┃ ┃     ┣━┳ CMPLT 
1344            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1345            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┗━┳ ADD 
1346            ┃   ┃ ┃ ┃           ┃ ┃     ┃   ┣━┳ ADD 
1347            ┃   ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┣━┳ ADD 
1348            ┃   ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1349            ┃   ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1350            ┃   ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1351            ┃   ┃ ┃ ┃           ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1352            ┃   ┃ ┃ ┃           ┃ ┃     ┣━┳ ADD 
1353            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┣━┳ ADD 
1354            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┣━┳ ADD 
1355            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1356            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1357            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1358            ┃   ┃ ┃ ┃           ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1359            ┃   ┃ ┃ ┃           ┃ ┃     ┗━┳ MUL 
1360            ┃   ┃ ┃ ┃           ┃ ┃       ┣━┳ ADD 
1361            ┃   ┃ ┃ ┃           ┃ ┃       ┃ ┣━┳ ADD 
1362            ┃   ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┣━┳ ADD 
1363            ┃   ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1364            ┃   ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1365            ┃   ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1366            ┃   ┃ ┃ ┃           ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1367            ┃   ┃ ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1368            ┃   ┃ ┃ ┃           ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1369            ┃   ┃ ┃ ┃           ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1370            ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(1, 0), offset=0, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1371            ┃   ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(1, 0), offset=0, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47,), strides=(4,), offset=2, mask=None, contiguous=False))))
1372            ┃   ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47,), strides=(0,), offset=0, mask=None, contiguous=False),)))
1373            ┗━┳ NEG 
1374              ┗━┳ CMPLT 
1375                ┣━┳ ADD 
1376                ┃ ┣━┳ ADD 
1377                ┃ ┃ ┣━┳ ADD 
1378                ┃ ┃ ┃ ┣━┳ ADD 
1379                ┃ ┃ ┃ ┃ ┣━┳ ADD 
1380                ┃ ┃ ┃ ┃ ┃ ┣━┳ ADD 
1381                ┃ ┃ ┃ ┃ ┃ ┃ ┣━┳ NEG 
1382                ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ WHERE 
1383                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┣━┳ CMPLT 
1384                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┣━┳ NEG 
1385                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃ ┗━┳ WHERE 
1386                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┣━┳ CMPLT 
1387                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┣━┳ ADD 
1388                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┣━┳ ADD 
1389                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1390                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1391                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1392                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1393                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1394                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1395                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1396                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1397                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃   ┗━┳ WHERE 
1398                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┣━┳ CMPLT 
1399                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1400                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ ADD 
1401                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┣━┳ ADD 
1402                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┣━┳ ADD 
1403                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1404                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1405                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1406                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1407                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┣━┳ ADD 
1408                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┣━┳ ADD 
1409                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┣━┳ ADD 
1410                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1411                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1412                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1413                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1414                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃     ┗━┳ MUL 
1415                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┣━┳ ADD 
1416                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┣━┳ ADD 
1417                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┣━┳ ADD 
1418                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1419                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1420                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1421                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1422                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1423                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1424                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1425                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1426                ┃ ┃ ┃ ┃ ┃ ┃ ┃   ┗━┳ WHERE 
1427                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
1428                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1429                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━┳ NEG 
1430                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┗━┳ WHERE 
1431                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
1432                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
1433                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
1434                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━┳ ADD 
1435                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1436                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1437                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1438                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1439                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1440                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ CAST (dtypes.float, False)
1441                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1442                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┗━┳ WHERE 
1443                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┣━┳ CMPLT 
1444                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1445                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┗━┳ ADD 
1446                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┣━┳ ADD 
1447                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┣━┳ ADD 
1448                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1449                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1450                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1451                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1452                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┣━┳ ADD 
1453                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
1454                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
1455                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1456                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1457                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1458                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1459                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┗━┳ MUL 
1460                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┣━┳ ADD 
1461                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┣━┳ ADD 
1462                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┣━┳ ADD 
1463                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1464                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1465                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1466                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1467                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1468                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ NEG 
1469                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━┳ WHERE 
1470                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┣━┳ CMPLT 
1471                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┣━┳ ADD 
1472                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┣━┳ ADD 
1473                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┣━┳ ADD 
1474                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1475                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1476                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1477                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1478                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1479                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┣━┳ CAST (dtypes.float, False)
1480                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1481                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃   ┗━┳ WHERE 
1482                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
1483                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1484                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━┳ ADD 
1485                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┣━┳ ADD 
1486                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┣━┳ ADD 
1487                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1488                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1489                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1490                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1491                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┣━┳ ADD 
1492                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
1493                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
1494                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1495                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1496                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1497                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1498                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃     ┗━┳ MUL 
1499                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┣━┳ ADD 
1500                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
1501                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
1502                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1503                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1504                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1505                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1506                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1507                ┃ ┃ ┃ ┃ ┃ ┃ ┃     ┗━┳ MUL 
1508                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┣━┳ ADD 
1509                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┣━┳ NEG 
1510                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃ ┗━┳ WHERE 
1511                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┣━┳ CMPLT 
1512                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┣━┳ ADD 
1513                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┣━┳ ADD 
1514                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1515                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1516                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1517                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1518                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1519                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1520                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1521                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1522                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃   ┗━┳ WHERE 
1523                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┣━┳ CMPLT 
1524                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1525                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┗━┳ ADD 
1526                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┣━┳ ADD 
1527                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┣━┳ ADD 
1528                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1529                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1530                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1531                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1532                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┣━┳ ADD 
1533                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┣━┳ ADD 
1534                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┣━┳ ADD 
1535                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1536                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1537                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1538                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1539                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
1540                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┣━┳ ADD 
1541                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┣━┳ ADD 
1542                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┣━┳ ADD 
1543                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1544                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1545                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1546                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1547                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1548                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1549                ┃ ┃ ┃ ┃ ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1550                ┃ ┃ ┃ ┃ ┃ ┃ ┗━┳ NEG 
1551                ┃ ┃ ┃ ┃ ┃ ┃   ┗━┳ WHERE 
1552                ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
1553                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┣━┳ NEG 
1554                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃ ┗━┳ WHERE 
1555                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
1556                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
1557                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
1558                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1559                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1560                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1561                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1562                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1563                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1564                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1565                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1566                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┗━┳ WHERE 
1567                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
1568                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1569                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
1570                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
1571                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
1572                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1573                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1574                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1575                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1576                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ ADD 
1577                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
1578                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
1579                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1580                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1581                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1582                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1583                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┗━┳ MUL 
1584                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┣━┳ ADD 
1585                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
1586                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
1587                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1588                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1589                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1590                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1591                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1592                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1593                ┃ ┃ ┃ ┃ ┃ ┃     ┣━┳ CAST (dtypes.float, False)
1594                ┃ ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1595                ┃ ┃ ┃ ┃ ┃ ┃     ┗━┳ WHERE 
1596                ┃ ┃ ┃ ┃ ┃ ┃       ┣━┳ CMPLT 
1597                ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1598                ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ NEG 
1599                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
1600                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
1601                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
1602                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
1603                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
1604                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1605                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1606                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1607                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1608                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1609                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
1610                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1611                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ WHERE 
1612                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ CMPLT 
1613                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1614                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━┳ ADD 
1615                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┣━┳ ADD 
1616                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
1617                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1618                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1619                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1620                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1621                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
1622                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
1623                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
1624                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1625                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1626                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1627                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1628                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┗━┳ MUL 
1629                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┣━┳ ADD 
1630                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┣━┳ ADD 
1631                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
1632                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1633                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1634                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1635                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1636                ┃ ┃ ┃ ┃ ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1637                ┃ ┃ ┃ ┃ ┃ ┃       ┣━┳ NEG 
1638                ┃ ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ WHERE 
1639                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CMPLT 
1640                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┣━┳ ADD 
1641                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
1642                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
1643                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1644                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1645                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1646                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1647                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1648                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
1649                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1650                ┃ ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
1651                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
1652                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1653                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━┳ ADD 
1654                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┣━┳ ADD 
1655                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
1656                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1657                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1658                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1659                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1660                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ ADD 
1661                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
1662                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
1663                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1664                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1665                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1666                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1667                ┃ ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ MUL 
1668                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
1669                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
1670                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
1671                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1672                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1673                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1674                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1675                ┃ ┃ ┃ ┃ ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1676                ┃ ┃ ┃ ┃ ┃ ┃       ┗━┳ MUL 
1677                ┃ ┃ ┃ ┃ ┃ ┃         ┣━┳ ADD 
1678                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ NEG 
1679                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━┳ WHERE 
1680                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
1681                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
1682                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
1683                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1684                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1685                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1686                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1687                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1688                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1689                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1690                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1691                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┗━┳ WHERE 
1692                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
1693                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1694                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
1695                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
1696                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
1697                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1698                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1699                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1700                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1701                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ ADD 
1702                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
1703                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
1704                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1705                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1706                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1707                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1708                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┗━┳ MUL 
1709                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┣━┳ ADD 
1710                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
1711                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
1712                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1713                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1714                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1715                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1716                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1717                ┃ ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1718                ┃ ┃ ┃ ┃ ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1719                ┃ ┃ ┃ ┃ ┃ ┗━┳ NEG 
1720                ┃ ┃ ┃ ┃ ┃   ┗━┳ WHERE 
1721                ┃ ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
1722                ┃ ┃ ┃ ┃ ┃     ┃ ┣━┳ NEG 
1723                ┃ ┃ ┃ ┃ ┃     ┃ ┃ ┗━┳ WHERE 
1724                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
1725                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
1726                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
1727                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1728                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1729                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1730                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1731                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1732                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1733                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1734                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1735                ┃ ┃ ┃ ┃ ┃     ┃ ┃   ┗━┳ WHERE 
1736                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
1737                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1738                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
1739                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
1740                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
1741                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1742                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1743                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1744                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1745                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ ADD 
1746                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
1747                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
1748                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1749                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1750                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1751                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1752                ┃ ┃ ┃ ┃ ┃     ┃ ┃     ┗━┳ MUL 
1753                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┣━┳ ADD 
1754                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
1755                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
1756                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1757                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1758                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1759                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1760                ┃ ┃ ┃ ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1761                ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1762                ┃ ┃ ┃ ┃ ┃     ┣━┳ CAST (dtypes.float, False)
1763                ┃ ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1764                ┃ ┃ ┃ ┃ ┃     ┗━┳ WHERE 
1765                ┃ ┃ ┃ ┃ ┃       ┣━┳ CMPLT 
1766                ┃ ┃ ┃ ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1767                ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ NEG 
1768                ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
1769                ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
1770                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
1771                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
1772                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
1773                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1774                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1775                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1776                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1777                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1778                ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
1779                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1780                ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ WHERE 
1781                ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ CMPLT 
1782                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1783                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━┳ ADD 
1784                ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┣━┳ ADD 
1785                ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
1786                ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1787                ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1788                ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1789                ┃ ┃ ┃ ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1790                ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
1791                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
1792                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
1793                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1794                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1795                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1796                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1797                ┃ ┃ ┃ ┃ ┃       ┃       ┗━┳ MUL 
1798                ┃ ┃ ┃ ┃ ┃       ┃         ┣━┳ ADD 
1799                ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┣━┳ ADD 
1800                ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
1801                ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1802                ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1803                ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1804                ┃ ┃ ┃ ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1805                ┃ ┃ ┃ ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1806                ┃ ┃ ┃ ┃ ┃       ┣━┳ NEG 
1807                ┃ ┃ ┃ ┃ ┃       ┃ ┗━┳ WHERE 
1808                ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CMPLT 
1809                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┣━┳ ADD 
1810                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
1811                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
1812                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1813                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1814                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1815                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1816                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1817                ┃ ┃ ┃ ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
1818                ┃ ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1819                ┃ ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
1820                ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
1821                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1822                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━┳ ADD 
1823                ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┣━┳ ADD 
1824                ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
1825                ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1826                ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1827                ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1828                ┃ ┃ ┃ ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1829                ┃ ┃ ┃ ┃ ┃       ┃     ┣━┳ ADD 
1830                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
1831                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
1832                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1833                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1834                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1835                ┃ ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1836                ┃ ┃ ┃ ┃ ┃       ┃     ┗━┳ MUL 
1837                ┃ ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
1838                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
1839                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
1840                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1841                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1842                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1843                ┃ ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1844                ┃ ┃ ┃ ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1845                ┃ ┃ ┃ ┃ ┃       ┗━┳ MUL 
1846                ┃ ┃ ┃ ┃ ┃         ┣━┳ ADD 
1847                ┃ ┃ ┃ ┃ ┃         ┃ ┣━┳ NEG 
1848                ┃ ┃ ┃ ┃ ┃         ┃ ┃ ┗━┳ WHERE 
1849                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
1850                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
1851                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
1852                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1853                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1854                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1855                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1856                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1857                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1858                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1859                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1860                ┃ ┃ ┃ ┃ ┃         ┃ ┃   ┗━┳ WHERE 
1861                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
1862                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1863                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
1864                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
1865                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
1866                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1867                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1868                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1869                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1870                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ ADD 
1871                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
1872                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
1873                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1874                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1875                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1876                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1877                ┃ ┃ ┃ ┃ ┃         ┃ ┃     ┗━┳ MUL 
1878                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┣━┳ ADD 
1879                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
1880                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
1881                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1882                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1883                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1884                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1885                ┃ ┃ ┃ ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1886                ┃ ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1887                ┃ ┃ ┃ ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1888                ┃ ┃ ┃ ┃ ┗━┳ NEG 
1889                ┃ ┃ ┃ ┃   ┗━┳ WHERE 
1890                ┃ ┃ ┃ ┃     ┣━┳ CMPLT 
1891                ┃ ┃ ┃ ┃     ┃ ┣━┳ NEG 
1892                ┃ ┃ ┃ ┃     ┃ ┃ ┗━┳ WHERE 
1893                ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
1894                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
1895                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
1896                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
1897                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1898                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1899                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1900                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1901                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1902                ┃ ┃ ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
1903                ┃ ┃ ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1904                ┃ ┃ ┃ ┃     ┃ ┃   ┗━┳ WHERE 
1905                ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
1906                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1907                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
1908                ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
1909                ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
1910                ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1911                ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1912                ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1913                ┃ ┃ ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1914                ┃ ┃ ┃ ┃     ┃ ┃     ┣━┳ ADD 
1915                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
1916                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
1917                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1918                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1919                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1920                ┃ ┃ ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1921                ┃ ┃ ┃ ┃     ┃ ┃     ┗━┳ MUL 
1922                ┃ ┃ ┃ ┃     ┃ ┃       ┣━┳ ADD 
1923                ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
1924                ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
1925                ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1926                ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1927                ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1928                ┃ ┃ ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1929                ┃ ┃ ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1930                ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1931                ┃ ┃ ┃ ┃     ┣━┳ CAST (dtypes.float, False)
1932                ┃ ┃ ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1933                ┃ ┃ ┃ ┃     ┗━┳ WHERE 
1934                ┃ ┃ ┃ ┃       ┣━┳ CMPLT 
1935                ┃ ┃ ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1936                ┃ ┃ ┃ ┃       ┃ ┗━┳ NEG 
1937                ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
1938                ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
1939                ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
1940                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
1941                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
1942                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1943                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1944                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1945                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1946                ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1947                ┃ ┃ ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
1948                ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1949                ┃ ┃ ┃ ┃       ┃     ┗━┳ WHERE 
1950                ┃ ┃ ┃ ┃       ┃       ┣━┳ CMPLT 
1951                ┃ ┃ ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1952                ┃ ┃ ┃ ┃       ┃       ┃ ┗━┳ ADD 
1953                ┃ ┃ ┃ ┃       ┃       ┃   ┣━┳ ADD 
1954                ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
1955                ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1956                ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1957                ┃ ┃ ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1958                ┃ ┃ ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1959                ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
1960                ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
1961                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
1962                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1963                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1964                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1965                ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1966                ┃ ┃ ┃ ┃       ┃       ┗━┳ MUL 
1967                ┃ ┃ ┃ ┃       ┃         ┣━┳ ADD 
1968                ┃ ┃ ┃ ┃       ┃         ┃ ┣━┳ ADD 
1969                ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
1970                ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1971                ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1972                ┃ ┃ ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1973                ┃ ┃ ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1974                ┃ ┃ ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1975                ┃ ┃ ┃ ┃       ┣━┳ NEG 
1976                ┃ ┃ ┃ ┃       ┃ ┗━┳ WHERE 
1977                ┃ ┃ ┃ ┃       ┃   ┣━┳ CMPLT 
1978                ┃ ┃ ┃ ┃       ┃   ┃ ┣━┳ ADD 
1979                ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
1980                ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
1981                ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1982                ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1983                ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1984                ┃ ┃ ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1985                ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1986                ┃ ┃ ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
1987                ┃ ┃ ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1988                ┃ ┃ ┃ ┃       ┃   ┗━┳ WHERE 
1989                ┃ ┃ ┃ ┃       ┃     ┣━┳ CMPLT 
1990                ┃ ┃ ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1991                ┃ ┃ ┃ ┃       ┃     ┃ ┗━┳ ADD 
1992                ┃ ┃ ┃ ┃       ┃     ┃   ┣━┳ ADD 
1993                ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
1994                ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1995                ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1996                ┃ ┃ ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1997                ┃ ┃ ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
1998                ┃ ┃ ┃ ┃       ┃     ┣━┳ ADD 
1999                ┃ ┃ ┃ ┃       ┃     ┃ ┣━┳ ADD 
2000                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
2001                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2002                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2003                ┃ ┃ ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2004                ┃ ┃ ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2005                ┃ ┃ ┃ ┃       ┃     ┗━┳ MUL 
2006                ┃ ┃ ┃ ┃       ┃       ┣━┳ ADD 
2007                ┃ ┃ ┃ ┃       ┃       ┃ ┣━┳ ADD 
2008                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
2009                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2010                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2011                ┃ ┃ ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2012                ┃ ┃ ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2013                ┃ ┃ ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2014                ┃ ┃ ┃ ┃       ┗━┳ MUL 
2015                ┃ ┃ ┃ ┃         ┣━┳ ADD 
2016                ┃ ┃ ┃ ┃         ┃ ┣━┳ NEG 
2017                ┃ ┃ ┃ ┃         ┃ ┃ ┗━┳ WHERE 
2018                ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
2019                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
2020                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
2021                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2022                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2023                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2024                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2025                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2026                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2027                ┃ ┃ ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2028                ┃ ┃ ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2029                ┃ ┃ ┃ ┃         ┃ ┃   ┗━┳ WHERE 
2030                ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
2031                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2032                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
2033                ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
2034                ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
2035                ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2036                ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2037                ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2038                ┃ ┃ ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2039                ┃ ┃ ┃ ┃         ┃ ┃     ┣━┳ ADD 
2040                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
2041                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
2042                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2043                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2044                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2045                ┃ ┃ ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2046                ┃ ┃ ┃ ┃         ┃ ┃     ┗━┳ MUL 
2047                ┃ ┃ ┃ ┃         ┃ ┃       ┣━┳ ADD 
2048                ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
2049                ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
2050                ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2051                ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2052                ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2053                ┃ ┃ ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2054                ┃ ┃ ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2055                ┃ ┃ ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2056                ┃ ┃ ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2057                ┃ ┃ ┃ ┗━┳ ADD 
2058                ┃ ┃ ┃   ┣━┳ ADD 
2059                ┃ ┃ ┃   ┃ ┣━┳ ADD 
2060                ┃ ┃ ┃   ┃ ┃ ┣━┳ NEG 
2061                ┃ ┃ ┃   ┃ ┃ ┃ ┗━┳ WHERE 
2062                ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ CMPLT 
2063                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┣━┳ NEG 
2064                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃ ┗━┳ WHERE 
2065                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┣━┳ CMPLT 
2066                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┣━┳ ADD 
2067                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┣━┳ ADD 
2068                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2069                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2070                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2071                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2072                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2073                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2074                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2075                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2076                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃   ┗━┳ WHERE 
2077                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┣━┳ CMPLT 
2078                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2079                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┗━┳ ADD 
2080                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┣━┳ ADD 
2081                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┣━┳ ADD 
2082                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2083                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2084                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2085                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2086                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┣━┳ ADD 
2087                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┣━┳ ADD 
2088                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┣━┳ ADD 
2089                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2090                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2091                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2092                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2093                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃     ┗━┳ MUL 
2094                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┣━┳ ADD 
2095                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┣━┳ ADD 
2096                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┣━┳ ADD 
2097                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2098                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2099                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2100                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2101                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2102                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2103                ┃ ┃ ┃   ┃ ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2104                ┃ ┃ ┃   ┃ ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2105                ┃ ┃ ┃   ┃ ┃ ┃   ┗━┳ WHERE 
2106                ┃ ┃ ┃   ┃ ┃ ┃     ┣━┳ CMPLT 
2107                ┃ ┃ ┃   ┃ ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2108                ┃ ┃ ┃   ┃ ┃ ┃     ┃ ┗━┳ NEG 
2109                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┗━┳ WHERE 
2110                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
2111                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
2112                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
2113                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━┳ ADD 
2114                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2115                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2116                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2117                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2118                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2119                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ CAST (dtypes.float, False)
2120                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2121                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┗━┳ WHERE 
2122                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┣━┳ CMPLT 
2123                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2124                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┗━┳ ADD 
2125                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┣━┳ ADD 
2126                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┣━┳ ADD 
2127                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2128                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2129                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2130                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2131                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┣━┳ ADD 
2132                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
2133                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
2134                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2135                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2136                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2137                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2138                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┗━┳ MUL 
2139                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┣━┳ ADD 
2140                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┣━┳ ADD 
2141                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┣━┳ ADD 
2142                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2143                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2144                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2145                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2146                ┃ ┃ ┃   ┃ ┃ ┃     ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2147                ┃ ┃ ┃   ┃ ┃ ┃     ┣━┳ NEG 
2148                ┃ ┃ ┃   ┃ ┃ ┃     ┃ ┗━┳ WHERE 
2149                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┣━┳ CMPLT 
2150                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┣━┳ ADD 
2151                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┣━┳ ADD 
2152                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┣━┳ ADD 
2153                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2154                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2155                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2156                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2157                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2158                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┣━┳ CAST (dtypes.float, False)
2159                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2160                ┃ ┃ ┃   ┃ ┃ ┃     ┃   ┗━┳ WHERE 
2161                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ CMPLT 
2162                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2163                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━┳ ADD 
2164                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┣━┳ ADD 
2165                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┣━┳ ADD 
2166                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2167                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2168                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2169                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2170                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┣━┳ ADD 
2171                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┣━┳ ADD 
2172                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┣━┳ ADD 
2173                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2174                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2175                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2176                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2177                ┃ ┃ ┃   ┃ ┃ ┃     ┃     ┗━┳ MUL 
2178                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┣━┳ ADD 
2179                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┣━┳ ADD 
2180                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┣━┳ ADD 
2181                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2182                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2183                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2184                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2185                ┃ ┃ ┃   ┃ ┃ ┃     ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2186                ┃ ┃ ┃   ┃ ┃ ┃     ┗━┳ MUL 
2187                ┃ ┃ ┃   ┃ ┃ ┃       ┣━┳ ADD 
2188                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┣━┳ NEG 
2189                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃ ┗━┳ WHERE 
2190                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┣━┳ CMPLT 
2191                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┣━┳ ADD 
2192                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┣━┳ ADD 
2193                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2194                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2195                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2196                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2197                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2198                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2199                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2200                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2201                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃   ┗━┳ WHERE 
2202                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┣━┳ CMPLT 
2203                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2204                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┗━┳ ADD 
2205                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┣━┳ ADD 
2206                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┣━┳ ADD 
2207                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2208                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2209                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2210                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2211                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┣━┳ ADD 
2212                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┣━┳ ADD 
2213                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┣━┳ ADD 
2214                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2215                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2216                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2217                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2218                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
2219                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┣━┳ ADD 
2220                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┣━┳ ADD 
2221                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┣━┳ ADD 
2222                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2223                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2224                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2225                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2226                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2227                ┃ ┃ ┃   ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2228                ┃ ┃ ┃   ┃ ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=0, mask=((0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2229                ┃ ┃ ┃   ┃ ┃ ┗━┳ NEG 
2230                ┃ ┃ ┃   ┃ ┃   ┗━┳ WHERE 
2231                ┃ ┃ ┃   ┃ ┃     ┣━┳ CMPLT 
2232                ┃ ┃ ┃   ┃ ┃     ┃ ┣━┳ NEG 
2233                ┃ ┃ ┃   ┃ ┃     ┃ ┃ ┗━┳ WHERE 
2234                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┣━┳ CMPLT 
2235                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┣━┳ ADD 
2236                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
2237                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2238                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2239                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2240                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2241                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2242                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2243                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2244                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2245                ┃ ┃ ┃   ┃ ┃     ┃ ┃   ┗━┳ WHERE 
2246                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┣━┳ CMPLT 
2247                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2248                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┗━┳ ADD 
2249                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┣━┳ ADD 
2250                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
2251                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2252                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2253                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2254                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2255                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┣━┳ ADD 
2256                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┣━┳ ADD 
2257                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
2258                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2259                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2260                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2261                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2262                ┃ ┃ ┃   ┃ ┃     ┃ ┃     ┗━┳ MUL 
2263                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┣━┳ ADD 
2264                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┣━┳ ADD 
2265                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
2266                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2267                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2268                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2269                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2270                ┃ ┃ ┃   ┃ ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2271                ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2272                ┃ ┃ ┃   ┃ ┃     ┣━┳ CAST (dtypes.float, False)
2273                ┃ ┃ ┃   ┃ ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2274                ┃ ┃ ┃   ┃ ┃     ┗━┳ WHERE 
2275                ┃ ┃ ┃   ┃ ┃       ┣━┳ CMPLT 
2276                ┃ ┃ ┃   ┃ ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2277                ┃ ┃ ┃   ┃ ┃       ┃ ┗━┳ NEG 
2278                ┃ ┃ ┃   ┃ ┃       ┃   ┗━┳ WHERE 
2279                ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ CMPLT 
2280                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┣━┳ ADD 
2281                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
2282                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
2283                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2284                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2285                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2286                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2287                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2288                ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ CAST (dtypes.float, False)
2289                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2290                ┃ ┃ ┃   ┃ ┃       ┃     ┗━┳ WHERE 
2291                ┃ ┃ ┃   ┃ ┃       ┃       ┣━┳ CMPLT 
2292                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2293                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┗━┳ ADD 
2294                ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┣━┳ ADD 
2295                ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┣━┳ ADD 
2296                ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2297                ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2298                ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2299                ┃ ┃ ┃   ┃ ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2300                ┃ ┃ ┃   ┃ ┃       ┃       ┣━┳ ADD 
2301                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┣━┳ ADD 
2302                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
2303                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2304                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2305                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2306                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2307                ┃ ┃ ┃   ┃ ┃       ┃       ┗━┳ MUL 
2308                ┃ ┃ ┃   ┃ ┃       ┃         ┣━┳ ADD 
2309                ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┣━┳ ADD 
2310                ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┣━┳ ADD 
2311                ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2312                ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2313                ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2314                ┃ ┃ ┃   ┃ ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2315                ┃ ┃ ┃   ┃ ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2316                ┃ ┃ ┃   ┃ ┃       ┣━┳ NEG 
2317                ┃ ┃ ┃   ┃ ┃       ┃ ┗━┳ WHERE 
2318                ┃ ┃ ┃   ┃ ┃       ┃   ┣━┳ CMPLT 
2319                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┣━┳ ADD 
2320                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┣━┳ ADD 
2321                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
2322                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2323                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2324                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2325                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2326                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2327                ┃ ┃ ┃   ┃ ┃       ┃   ┣━┳ CAST (dtypes.float, False)
2328                ┃ ┃ ┃   ┃ ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2329                ┃ ┃ ┃   ┃ ┃       ┃   ┗━┳ WHERE 
2330                ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ CMPLT 
2331                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2332                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━┳ ADD 
2333                ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┣━┳ ADD 
2334                ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┣━┳ ADD 
2335                ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2336                ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2337                ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2338                ┃ ┃ ┃   ┃ ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2339                ┃ ┃ ┃   ┃ ┃       ┃     ┣━┳ ADD 
2340                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┣━┳ ADD 
2341                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┣━┳ ADD 
2342                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2343                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2344                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2345                ┃ ┃ ┃   ┃ ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2346                ┃ ┃ ┃   ┃ ┃       ┃     ┗━┳ MUL 
2347                ┃ ┃ ┃   ┃ ┃       ┃       ┣━┳ ADD 
2348                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┣━┳ ADD 
2349                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┣━┳ ADD 
2350                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2351                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2352                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2353                ┃ ┃ ┃   ┃ ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2354                ┃ ┃ ┃   ┃ ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2355                ┃ ┃ ┃   ┃ ┃       ┗━┳ MUL 
2356                ┃ ┃ ┃   ┃ ┃         ┣━┳ ADD 
2357                ┃ ┃ ┃   ┃ ┃         ┃ ┣━┳ NEG 
2358                ┃ ┃ ┃   ┃ ┃         ┃ ┃ ┗━┳ WHERE 
2359                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┣━┳ CMPLT 
2360                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┣━┳ ADD 
2361                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
2362                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2363                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2364                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2365                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2366                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2367                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2368                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2369                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2370                ┃ ┃ ┃   ┃ ┃         ┃ ┃   ┗━┳ WHERE 
2371                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┣━┳ CMPLT 
2372                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2373                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┗━┳ ADD 
2374                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┣━┳ ADD 
2375                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
2376                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2377                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2378                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2379                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2380                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┣━┳ ADD 
2381                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┣━┳ ADD 
2382                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
2383                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2384                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2385                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2386                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2387                ┃ ┃ ┃   ┃ ┃         ┃ ┃     ┗━┳ MUL 
2388                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┣━┳ ADD 
2389                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┣━┳ ADD 
2390                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
2391                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2392                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2393                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2394                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2395                ┃ ┃ ┃   ┃ ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2396                ┃ ┃ ┃   ┃ ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2397                ┃ ┃ ┃   ┃ ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2398                ┃ ┃ ┃   ┃ ┗━┳ NEG 
2399                ┃ ┃ ┃   ┃   ┗━┳ WHERE 
2400                ┃ ┃ ┃   ┃     ┣━┳ CMPLT 
2401                ┃ ┃ ┃   ┃     ┃ ┣━┳ NEG 
2402                ┃ ┃ ┃   ┃     ┃ ┃ ┗━┳ WHERE 
2403                ┃ ┃ ┃   ┃     ┃ ┃   ┣━┳ CMPLT 
2404                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┣━┳ ADD 
2405                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┣━┳ ADD 
2406                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2407                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2408                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2409                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2410                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2411                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2412                ┃ ┃ ┃   ┃     ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2413                ┃ ┃ ┃   ┃     ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2414                ┃ ┃ ┃   ┃     ┃ ┃   ┗━┳ WHERE 
2415                ┃ ┃ ┃   ┃     ┃ ┃     ┣━┳ CMPLT 
2416                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2417                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┗━┳ ADD 
2418                ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┣━┳ ADD 
2419                ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┣━┳ ADD 
2420                ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2421                ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2422                ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2423                ┃ ┃ ┃   ┃     ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2424                ┃ ┃ ┃   ┃     ┃ ┃     ┣━┳ ADD 
2425                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┣━┳ ADD 
2426                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┣━┳ ADD 
2427                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2428                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2429                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2430                ┃ ┃ ┃   ┃     ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2431                ┃ ┃ ┃   ┃     ┃ ┃     ┗━┳ MUL 
2432                ┃ ┃ ┃   ┃     ┃ ┃       ┣━┳ ADD 
2433                ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┣━┳ ADD 
2434                ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┣━┳ ADD 
2435                ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2436                ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2437                ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2438                ┃ ┃ ┃   ┃     ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2439                ┃ ┃ ┃   ┃     ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2440                ┃ ┃ ┃   ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2441                ┃ ┃ ┃   ┃     ┣━┳ CAST (dtypes.float, False)
2442                ┃ ┃ ┃   ┃     ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2443                ┃ ┃ ┃   ┃     ┗━┳ WHERE 
2444                ┃ ┃ ┃   ┃       ┣━┳ CMPLT 
2445                ┃ ┃ ┃   ┃       ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2446                ┃ ┃ ┃   ┃       ┃ ┗━┳ NEG 
2447                ┃ ┃ ┃   ┃       ┃   ┗━┳ WHERE 
2448                ┃ ┃ ┃   ┃       ┃     ┣━┳ CMPLT 
2449                ┃ ┃ ┃   ┃       ┃     ┃ ┣━┳ ADD 
2450                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┣━┳ ADD 
2451                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┣━┳ ADD 
2452                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2453                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2454                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2455                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2456                ┃ ┃ ┃   ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2457                ┃ ┃ ┃   ┃       ┃     ┣━┳ CAST (dtypes.float, False)
2458                ┃ ┃ ┃   ┃       ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2459                ┃ ┃ ┃   ┃       ┃     ┗━┳ WHERE 
2460                ┃ ┃ ┃   ┃       ┃       ┣━┳ CMPLT 
2461                ┃ ┃ ┃   ┃       ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2462                ┃ ┃ ┃   ┃       ┃       ┃ ┗━┳ ADD 
2463                ┃ ┃ ┃   ┃       ┃       ┃   ┣━┳ ADD 
2464                ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┣━┳ ADD 
2465                ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2466                ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2467                ┃ ┃ ┃   ┃       ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2468                ┃ ┃ ┃   ┃       ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2469                ┃ ┃ ┃   ┃       ┃       ┣━┳ ADD 
2470                ┃ ┃ ┃   ┃       ┃       ┃ ┣━┳ ADD 
2471                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┣━┳ ADD 
2472                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2473                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2474                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2475                ┃ ┃ ┃   ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2476                ┃ ┃ ┃   ┃       ┃       ┗━┳ MUL 
2477                ┃ ┃ ┃   ┃       ┃         ┣━┳ ADD 
2478                ┃ ┃ ┃   ┃       ┃         ┃ ┣━┳ ADD 
2479                ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┣━┳ ADD 
2480                ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2481                ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2482                ┃ ┃ ┃   ┃       ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2483                ┃ ┃ ┃   ┃       ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2484                ┃ ┃ ┃   ┃       ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2485                ┃ ┃ ┃   ┃       ┣━┳ NEG 
2486                ┃ ┃ ┃   ┃       ┃ ┗━┳ WHERE 
2487                ┃ ┃ ┃   ┃       ┃   ┣━┳ CMPLT 
2488                ┃ ┃ ┃   ┃       ┃   ┃ ┣━┳ ADD 
2489                ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┣━┳ ADD 
2490                ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┣━┳ ADD 
2491                ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2492                ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2493                ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2494                ┃ ┃ ┃   ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2495                ┃ ┃ ┃   ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2496                ┃ ┃ ┃   ┃       ┃   ┣━┳ CAST (dtypes.float, False)
2497                ┃ ┃ ┃   ┃       ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2498                ┃ ┃ ┃   ┃       ┃   ┗━┳ WHERE 
2499                ┃ ┃ ┃   ┃       ┃     ┣━┳ CMPLT 
2500                ┃ ┃ ┃   ┃       ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2501                ┃ ┃ ┃   ┃       ┃     ┃ ┗━┳ ADD 
2502                ┃ ┃ ┃   ┃       ┃     ┃   ┣━┳ ADD 
2503                ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┣━┳ ADD 
2504                ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2505                ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2506                ┃ ┃ ┃   ┃       ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2507                ┃ ┃ ┃   ┃       ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2508                ┃ ┃ ┃   ┃       ┃     ┣━┳ ADD 
2509                ┃ ┃ ┃   ┃       ┃     ┃ ┣━┳ ADD 
2510                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┣━┳ ADD 
2511                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2512                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2513                ┃ ┃ ┃   ┃       ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2514                ┃ ┃ ┃   ┃       ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2515                ┃ ┃ ┃   ┃       ┃     ┗━┳ MUL 
2516                ┃ ┃ ┃   ┃       ┃       ┣━┳ ADD 
2517                ┃ ┃ ┃   ┃       ┃       ┃ ┣━┳ ADD 
2518                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┣━┳ ADD 
2519                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2520                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2521                ┃ ┃ ┃   ┃       ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2522                ┃ ┃ ┃   ┃       ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2523                ┃ ┃ ┃   ┃       ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2524                ┃ ┃ ┃   ┃       ┗━┳ MUL 
2525                ┃ ┃ ┃   ┃         ┣━┳ ADD 
2526                ┃ ┃ ┃   ┃         ┃ ┣━┳ NEG 
2527                ┃ ┃ ┃   ┃         ┃ ┃ ┗━┳ WHERE 
2528                ┃ ┃ ┃   ┃         ┃ ┃   ┣━┳ CMPLT 
2529                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┣━┳ ADD 
2530                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┣━┳ ADD 
2531                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2532                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2533                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2534                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2535                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2536                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2537                ┃ ┃ ┃   ┃         ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2538                ┃ ┃ ┃   ┃         ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2539                ┃ ┃ ┃   ┃         ┃ ┃   ┗━┳ WHERE 
2540                ┃ ┃ ┃   ┃         ┃ ┃     ┣━┳ CMPLT 
2541                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2542                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┗━┳ ADD 
2543                ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┣━┳ ADD 
2544                ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┣━┳ ADD 
2545                ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2546                ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2547                ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2548                ┃ ┃ ┃   ┃         ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2549                ┃ ┃ ┃   ┃         ┃ ┃     ┣━┳ ADD 
2550                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┣━┳ ADD 
2551                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┣━┳ ADD 
2552                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2553                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2554                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2555                ┃ ┃ ┃   ┃         ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2556                ┃ ┃ ┃   ┃         ┃ ┃     ┗━┳ MUL 
2557                ┃ ┃ ┃   ┃         ┃ ┃       ┣━┳ ADD 
2558                ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┣━┳ ADD 
2559                ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┣━┳ ADD 
2560                ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2561                ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2562                ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2563                ┃ ┃ ┃   ┃         ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2564                ┃ ┃ ┃   ┃         ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2565                ┃ ┃ ┃   ┃         ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2566                ┃ ┃ ┃   ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=2, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2567                ┃ ┃ ┃   ┗━┳ NEG 
2568                ┃ ┃ ┃     ┗━┳ WHERE 
2569                ┃ ┃ ┃       ┣━┳ CMPLT 
2570                ┃ ┃ ┃       ┃ ┣━┳ NEG 
2571                ┃ ┃ ┃       ┃ ┃ ┗━┳ WHERE 
2572                ┃ ┃ ┃       ┃ ┃   ┣━┳ CMPLT 
2573                ┃ ┃ ┃       ┃ ┃   ┃ ┣━┳ ADD 
2574                ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┣━┳ ADD 
2575                ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2576                ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2577                ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2578                ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2579                ┃ ┃ ┃       ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2580                ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2581                ┃ ┃ ┃       ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2582                ┃ ┃ ┃       ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2583                ┃ ┃ ┃       ┃ ┃   ┗━┳ WHERE 
2584                ┃ ┃ ┃       ┃ ┃     ┣━┳ CMPLT 
2585                ┃ ┃ ┃       ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2586                ┃ ┃ ┃       ┃ ┃     ┃ ┗━┳ ADD 
2587                ┃ ┃ ┃       ┃ ┃     ┃   ┣━┳ ADD 
2588                ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┣━┳ ADD 
2589                ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2590                ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2591                ┃ ┃ ┃       ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2592                ┃ ┃ ┃       ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2593                ┃ ┃ ┃       ┃ ┃     ┣━┳ ADD 
2594                ┃ ┃ ┃       ┃ ┃     ┃ ┣━┳ ADD 
2595                ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┣━┳ ADD 
2596                ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2597                ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2598                ┃ ┃ ┃       ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2599                ┃ ┃ ┃       ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2600                ┃ ┃ ┃       ┃ ┃     ┗━┳ MUL 
2601                ┃ ┃ ┃       ┃ ┃       ┣━┳ ADD 
2602                ┃ ┃ ┃       ┃ ┃       ┃ ┣━┳ ADD 
2603                ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┣━┳ ADD 
2604                ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2605                ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2606                ┃ ┃ ┃       ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2607                ┃ ┃ ┃       ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2608                ┃ ┃ ┃       ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2609                ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2610                ┃ ┃ ┃       ┣━┳ CAST (dtypes.float, False)
2611                ┃ ┃ ┃       ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2612                ┃ ┃ ┃       ┗━┳ WHERE 
2613                ┃ ┃ ┃         ┣━┳ CMPLT 
2614                ┃ ┃ ┃         ┃ ┣━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2615                ┃ ┃ ┃         ┃ ┗━┳ NEG 
2616                ┃ ┃ ┃         ┃   ┗━┳ WHERE 
2617                ┃ ┃ ┃         ┃     ┣━┳ CMPLT 
2618                ┃ ┃ ┃         ┃     ┃ ┣━┳ ADD 
2619                ┃ ┃ ┃         ┃     ┃ ┃ ┣━┳ ADD 
2620                ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┣━┳ ADD 
2621                ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2622                ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2623                ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2624                ┃ ┃ ┃         ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2625                ┃ ┃ ┃         ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2626                ┃ ┃ ┃         ┃     ┣━┳ CAST (dtypes.float, False)
2627                ┃ ┃ ┃         ┃     ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2628                ┃ ┃ ┃         ┃     ┗━┳ WHERE 
2629                ┃ ┃ ┃         ┃       ┣━┳ CMPLT 
2630                ┃ ┃ ┃         ┃       ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2631                ┃ ┃ ┃         ┃       ┃ ┗━┳ ADD 
2632                ┃ ┃ ┃         ┃       ┃   ┣━┳ ADD 
2633                ┃ ┃ ┃         ┃       ┃   ┃ ┣━┳ ADD 
2634                ┃ ┃ ┃         ┃       ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2635                ┃ ┃ ┃         ┃       ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2636                ┃ ┃ ┃         ┃       ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2637                ┃ ┃ ┃         ┃       ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2638                ┃ ┃ ┃         ┃       ┣━┳ ADD 
2639                ┃ ┃ ┃         ┃       ┃ ┣━┳ ADD 
2640                ┃ ┃ ┃         ┃       ┃ ┃ ┣━┳ ADD 
2641                ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2642                ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2643                ┃ ┃ ┃         ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2644                ┃ ┃ ┃         ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2645                ┃ ┃ ┃         ┃       ┗━┳ MUL 
2646                ┃ ┃ ┃         ┃         ┣━┳ ADD 
2647                ┃ ┃ ┃         ┃         ┃ ┣━┳ ADD 
2648                ┃ ┃ ┃         ┃         ┃ ┃ ┣━┳ ADD 
2649                ┃ ┃ ┃         ┃         ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2650                ┃ ┃ ┃         ┃         ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2651                ┃ ┃ ┃         ┃         ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2652                ┃ ┃ ┃         ┃         ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2653                ┃ ┃ ┃         ┃         ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2654                ┃ ┃ ┃         ┣━┳ NEG 
2655                ┃ ┃ ┃         ┃ ┗━┳ WHERE 
2656                ┃ ┃ ┃         ┃   ┣━┳ CMPLT 
2657                ┃ ┃ ┃         ┃   ┃ ┣━┳ ADD 
2658                ┃ ┃ ┃         ┃   ┃ ┃ ┣━┳ ADD 
2659                ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┣━┳ ADD 
2660                ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2661                ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2662                ┃ ┃ ┃         ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2663                ┃ ┃ ┃         ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2664                ┃ ┃ ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2665                ┃ ┃ ┃         ┃   ┣━┳ CAST (dtypes.float, False)
2666                ┃ ┃ ┃         ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2667                ┃ ┃ ┃         ┃   ┗━┳ WHERE 
2668                ┃ ┃ ┃         ┃     ┣━┳ CMPLT 
2669                ┃ ┃ ┃         ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2670                ┃ ┃ ┃         ┃     ┃ ┗━┳ ADD 
2671                ┃ ┃ ┃         ┃     ┃   ┣━┳ ADD 
2672                ┃ ┃ ┃         ┃     ┃   ┃ ┣━┳ ADD 
2673                ┃ ┃ ┃         ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2674                ┃ ┃ ┃         ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2675                ┃ ┃ ┃         ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2676                ┃ ┃ ┃         ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2677                ┃ ┃ ┃         ┃     ┣━┳ ADD 
2678                ┃ ┃ ┃         ┃     ┃ ┣━┳ ADD 
2679                ┃ ┃ ┃         ┃     ┃ ┃ ┣━┳ ADD 
2680                ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2681                ┃ ┃ ┃         ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2682                ┃ ┃ ┃         ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2683                ┃ ┃ ┃         ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2684                ┃ ┃ ┃         ┃     ┗━┳ MUL 
2685                ┃ ┃ ┃         ┃       ┣━┳ ADD 
2686                ┃ ┃ ┃         ┃       ┃ ┣━┳ ADD 
2687                ┃ ┃ ┃         ┃       ┃ ┃ ┣━┳ ADD 
2688                ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2689                ┃ ┃ ┃         ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2690                ┃ ┃ ┃         ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2691                ┃ ┃ ┃         ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2692                ┃ ┃ ┃         ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2693                ┃ ┃ ┃         ┗━┳ MUL 
2694                ┃ ┃ ┃           ┣━┳ ADD 
2695                ┃ ┃ ┃           ┃ ┣━┳ NEG 
2696                ┃ ┃ ┃           ┃ ┃ ┗━┳ WHERE 
2697                ┃ ┃ ┃           ┃ ┃   ┣━┳ CMPLT 
2698                ┃ ┃ ┃           ┃ ┃   ┃ ┣━┳ ADD 
2699                ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┣━┳ ADD 
2700                ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┣━┳ ADD 
2701                ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2702                ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2703                ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2704                ┃ ┃ ┃           ┃ ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2705                ┃ ┃ ┃           ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2706                ┃ ┃ ┃           ┃ ┃   ┣━┳ CAST (dtypes.float, False)
2707                ┃ ┃ ┃           ┃ ┃   ┃ ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.int, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2708                ┃ ┃ ┃           ┃ ┃   ┗━┳ WHERE 
2709                ┃ ┃ ┃           ┃ ┃     ┣━┳ CMPLT 
2710                ┃ ┃ ┃           ┃ ┃     ┃ ┣━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2711                ┃ ┃ ┃           ┃ ┃     ┃ ┗━┳ ADD 
2712                ┃ ┃ ┃           ┃ ┃     ┃   ┣━┳ ADD 
2713                ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┣━┳ ADD 
2714                ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2715                ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2716                ┃ ┃ ┃           ┃ ┃     ┃   ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2717                ┃ ┃ ┃           ┃ ┃     ┃   ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2718                ┃ ┃ ┃           ┃ ┃     ┣━┳ ADD 
2719                ┃ ┃ ┃           ┃ ┃     ┃ ┣━┳ ADD 
2720                ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┣━┳ ADD 
2721                ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2722                ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2723                ┃ ┃ ┃           ┃ ┃     ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2724                ┃ ┃ ┃           ┃ ┃     ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2725                ┃ ┃ ┃           ┃ ┃     ┗━┳ MUL 
2726                ┃ ┃ ┃           ┃ ┃       ┣━┳ ADD 
2727                ┃ ┃ ┃           ┃ ┃       ┃ ┣━┳ ADD 
2728                ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┣━┳ ADD 
2729                ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┃ ┣━━ LOAD MemBuffer(idx=1, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((0, 1), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2730                ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┃ ┗━━ LOAD MemBuffer(idx=2, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((1, 2), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2731                ┃ ┃ ┃           ┃ ┃       ┃ ┃ ┗━━ LOAD MemBuffer(idx=3, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((2, 3), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2732                ┃ ┃ ┃           ┃ ┃       ┃ ┗━━ LOAD MemBuffer(idx=4, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(4, 47, 1), strides=(0, 1, 0), offset=0, mask=((3, 4), (0, 47), (0, 1)), contiguous=False), View(shape=(47, 4), strides=(1, 47), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2733                ┃ ┃ ┃           ┃ ┃       ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2734                ┃ ┃ ┃           ┃ ┗━━ CONST ConstBuffer(val=-223.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2735                ┃ ┃ ┃           ┗━━ CONST ConstBuffer(val=0.5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(0, 0), offset=0, mask=None, contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=3, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47, 4), strides=(4, 0), offset=1, mask=((0, 47), (1, 2)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2736                ┃ ┃ ┗━━ LOAD MemBuffer(idx=5, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(1, 0), offset=0, mask=((0, 47), (2, 3)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2737                ┃ ┗━━ LOAD MemBuffer(idx=6, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47, 4), strides=(1, 0), offset=0, mask=((0, 47), (3, 4)), contiguous=False), View(shape=(47,), strides=(4,), offset=3, mask=None, contiguous=False))))
2738                ┗━━ CONST ConstBuffer(val=0.0, dtype=dtypes.float, st=ShapeTracker(views=(View(shape=(47,), strides=(0,), offset=0, mask=None, contiguous=False),)))
  47
Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 142, in <module>
    for k, v in fuzz_linearizer(lin).items():
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 73, in fuzz_linearizer
    rawbufs = get_fuzz_rawbufs(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_linearizer.py", line 19, in get_fuzz_rawbufs
    rawbufs = bufs_from_lin(lin)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/features/search.py", line 69, in bufs_from_lin
    rawbufs[k] = Buffer(lin.opts.device, buf_size, lx[0].dtype)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 80, in __init__
    self._buf = opaque if opaque is not None else self.allocator.alloc(self.nbytes, options)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 152, in alloc
    try: return super().alloc(size, options)
  File "/home/jebba/devel/tinygrad/tinygrad/tinygrad/device.py", line 139, in alloc
    assert not isinstance(size, int) or size > 0, f"alloc size must be positve, getting {size}"
AssertionError: alloc size must be positve, getting 0

external/fuzz_shapetracker_math.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_shapetracker_math.py", line 6, in <module>
    from test.external.fuzz_shapetracker import shapetracker_ops
ModuleNotFoundError: No module named 'test.external'

external/fuzz_shapetracker.py

Traceback (most recent call last):
  File "/home/jebba/devel/tinygrad/tinygrad/test/external/fuzz_shapetracker.py", line 3, in <module>
    from test.unit.test_shapetracker import CheckingShapeTracker
ModuleNotFoundError: No module named 'test.unit'

external/fuzz_symbolic.py


external/graph_batchnorm.py

....
----------------------------------------------------------------------
Ran 4 tests in 4.379s

OK