{
  "benchmark_source_sha256": "c0876934ab9f5967591fc11ed48791063dae9f13c4d5bd6e0691a485da7b1324",
  "cases": [
    {
      "bytes_read_and_written": 131072,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          2,
          3,
          4,
          0,
          1
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "mechanism": "simd_shuffle",
              "publish": null,
              "recycle": null,
              "scratch": null,
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        4,
        8
      ],
      "output_shape": [
        1024,
        8,
        4
      ],
      "seed": 1073,
      "tile_shape": [
        4,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000209375,
          "ownership_seconds": 0.000212833,
          "speedup": 0.98375251958108
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00023375000000000002,
          "scatter_seconds": 0.00023420800000000002,
          "speedup": 1.00195935828877
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00021237500000000003,
          "scatter_seconds": 0.000211959,
          "speedup": 1.0019626437188325
        }
      }
    },
    {
      "bytes_read_and_written": 262144,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          2,
          3,
          4,
          0,
          1
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "mechanism": "simd_shuffle",
              "publish": null,
              "recycle": null,
              "scratch": null,
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        4,
        8
      ],
      "output_shape": [
        1024,
        8,
        4
      ],
      "seed": 1073,
      "tile_shape": [
        4,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.00020212500000000002,
          "ownership_seconds": 0.000203875,
          "speedup": 0.9914163090128756
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.000203291,
          "scatter_seconds": 0.00020325,
          "speedup": 0.9997983186663453
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00020033350000000003,
          "scatter_seconds": 0.000204104,
          "speedup": 0.9815265746874143
        }
      }
    },
    {
      "bytes_read_and_written": 2097152,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          2,
          3,
          4,
          0,
          1
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "mechanism": "simd_shuffle",
              "publish": null,
              "recycle": null,
              "scratch": null,
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        4,
        8
      ],
      "output_shape": [
        16384,
        8,
        4
      ],
      "seed": 16433,
      "tile_shape": [
        4,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000218292,
          "ownership_seconds": 0.00022491700000000002,
          "speedup": 0.970544689818911
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00022522900000000002,
          "scatter_seconds": 0.0002228335,
          "speedup": 0.9893641582567075
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.000218542,
          "scatter_seconds": 0.00022516700000000002,
          "speedup": 0.9705773936678109
        }
      }
    },
    {
      "bytes_read_and_written": 4194304,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          2,
          3,
          4,
          0,
          1
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "mechanism": "simd_shuffle",
              "publish": null,
              "recycle": null,
              "scratch": null,
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  2,
                  3,
                  4,
                  0,
                  1
                ],
                "xor_mask": 0
              },
              "shape": [
                32
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              32,
              1,
              1
            ],
            "tile_shape": [
              32
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        4,
        8
      ],
      "output_shape": [
        16384,
        8,
        4
      ],
      "seed": 16433,
      "tile_shape": [
        4,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.00023875,
          "ownership_seconds": 0.00023750000000000003,
          "speedup": 1.0052631578947366
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.000228167,
          "scatter_seconds": 0.00022987500000000002,
          "speedup": 1.007485745090219
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00022600000000000002,
          "scatter_seconds": 0.0002291875,
          "speedup": 0.9860921734387783
        }
      }
    },
    {
      "bytes_read_and_written": 262144,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 128,
              "element_type": "half",
              "elements": 64,
              "name": "_metile_exchange_f16"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f16",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        8,
        8
      ],
      "output_shape": [
        1024,
        8,
        8
      ],
      "seed": 1105,
      "tile_shape": [
        8,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000201084,
          "ownership_seconds": 0.000204792,
          "speedup": 0.9818938239774991
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00020204100000000003,
          "scatter_seconds": 0.00020275000000000002,
          "speedup": 1.0035091887290204
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00020110400000000002,
          "scatter_seconds": 0.0002046875,
          "speedup": 0.982492824427481
        }
      }
    },
    {
      "bytes_read_and_written": 524288,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 256,
              "element_type": "float",
              "elements": 64,
              "name": "_metile_exchange_f32"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f32",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        8,
        8
      ],
      "output_shape": [
        1024,
        8,
        8
      ],
      "seed": 1105,
      "tile_shape": [
        8,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000201167,
          "ownership_seconds": 0.00020545800000000002,
          "speedup": 0.9791149529344196
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00020362450000000002,
          "scatter_seconds": 0.0002032295,
          "speedup": 0.9980601548438424
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00020429200000000002,
          "scatter_seconds": 0.00020625,
          "speedup": 0.9905066666666668
        }
      }
    },
    {
      "bytes_read_and_written": 4194304,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 128,
              "element_type": "half",
              "elements": 64,
              "name": "_metile_exchange_f16"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f16",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        8,
        8
      ],
      "output_shape": [
        16384,
        8,
        8
      ],
      "seed": 16465,
      "tile_shape": [
        8,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.0002259165,
          "ownership_seconds": 0.00023675050000000002,
          "speedup": 0.9542387450079303
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00023400000000000002,
          "scatter_seconds": 0.000226667,
          "speedup": 0.9686623931623931
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00022656300000000002,
          "scatter_seconds": 0.00023052100000000002,
          "speedup": 0.9828301976826406
        }
      }
    },
    {
      "bytes_read_and_written": 8388608,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 256,
              "element_type": "float",
              "elements": 64,
              "name": "_metile_exchange_f32"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f32",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                64
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              64,
              1,
              1
            ],
            "tile_shape": [
              64
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        8,
        8
      ],
      "output_shape": [
        16384,
        8,
        8
      ],
      "seed": 16465,
      "tile_shape": [
        8,
        8
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.0002501045,
          "ownership_seconds": 0.000252021,
          "speedup": 0.9923954749802597
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.000245834,
          "scatter_seconds": 0.000244458,
          "speedup": 0.9944027270434521
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.000248,
          "scatter_seconds": 0.00025710450000000003,
          "speedup": 0.9645883288701675
        }
      }
    },
    {
      "bytes_read_and_written": 524288,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          6,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 256,
              "element_type": "half",
              "elements": 128,
              "name": "_metile_exchange_f16"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f16",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        8,
        16
      ],
      "output_shape": [
        1024,
        16,
        8
      ],
      "seed": 1169,
      "tile_shape": [
        8,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.00021250000000000002,
          "ownership_seconds": 0.00021283400000000002,
          "speedup": 0.9984307018615447
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00023587500000000003,
          "scatter_seconds": 0.00023014600000000003,
          "speedup": 0.9757117117117117
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00021375050000000003,
          "scatter_seconds": 0.00021150000000000002,
          "speedup": 1.0106406619385344
        }
      }
    },
    {
      "bytes_read_and_written": 1048576,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          6,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 512,
              "element_type": "float",
              "elements": 128,
              "name": "_metile_exchange_f32"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f32",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        8,
        16
      ],
      "output_shape": [
        1024,
        16,
        8
      ],
      "seed": 1169,
      "tile_shape": [
        8,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.00020829100000000002,
          "ownership_seconds": 0.000208917,
          "speedup": 0.9970035947290072
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.000204708,
          "scatter_seconds": 0.00020816700000000001,
          "speedup": 1.0168972389940794
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.0002065,
          "scatter_seconds": 0.00020787500000000002,
          "speedup": 0.9933854479855682
        }
      }
    },
    {
      "bytes_read_and_written": 8388608,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          6,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 256,
              "element_type": "half",
              "elements": 128,
              "name": "_metile_exchange_f16"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f16",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        8,
        16
      ],
      "output_shape": [
        16384,
        16,
        8
      ],
      "seed": 16529,
      "tile_shape": [
        8,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000245833,
          "ownership_seconds": 0.00026116700000000003,
          "speedup": 0.941286609717154
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00025325,
          "scatter_seconds": 0.00024829100000000004,
          "speedup": 0.9804185587364266
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.0002467705,
          "scatter_seconds": 0.000264479,
          "speedup": 0.9330438333478271
        }
      }
    },
    {
      "bytes_read_and_written": 16777216,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          3,
          4,
          5,
          6,
          0,
          1,
          2
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 512,
              "element_type": "float",
              "elements": 128,
              "name": "_metile_exchange_f32"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f32",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  3,
                  4,
                  5,
                  6,
                  0,
                  1,
                  2
                ],
                "xor_mask": 0
              },
              "shape": [
                128
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              128,
              1,
              1
            ],
            "tile_shape": [
              128
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        8,
        16
      ],
      "output_shape": [
        16384,
        16,
        8
      ],
      "seed": 16529,
      "tile_shape": [
        8,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.00033841650000000003,
          "ownership_seconds": 0.000334521,
          "speedup": 1.0116450088335263
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00032539600000000004,
          "scatter_seconds": 0.0003223535,
          "speedup": 0.9906498543313377
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00032975,
          "scatter_seconds": 0.0003293545,
          "speedup": 1.0012008337520817
        }
      }
    },
    {
      "bytes_read_and_written": 1048576,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          4,
          5,
          6,
          7,
          0,
          1,
          2,
          3
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 512,
              "element_type": "half",
              "elements": 256,
              "name": "_metile_exchange_f16"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f16",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        16,
        16
      ],
      "output_shape": [
        1024,
        16,
        16
      ],
      "seed": 1297,
      "tile_shape": [
        16,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000205125,
          "ownership_seconds": 0.00020995900000000001,
          "speedup": 0.9769764573083316
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00021189600000000002,
          "scatter_seconds": 0.00020829150000000002,
          "speedup": 0.9829892966360857
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.000204271,
          "scatter_seconds": 0.000206521,
          "speedup": 0.9891052241660654
        }
      }
    },
    {
      "bytes_read_and_written": 2097152,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          4,
          5,
          6,
          7,
          0,
          1,
          2,
          3
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 1024,
              "element_type": "float",
              "elements": 256,
              "name": "_metile_exchange_f32"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f32",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        1024,
        16,
        16
      ],
      "output_shape": [
        1024,
        16,
        16
      ],
      "seed": 1297,
      "tile_shape": [
        16,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.0002175835,
          "ownership_seconds": 0.000221229,
          "speedup": 0.9835215997902625
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00022041700000000001,
          "scatter_seconds": 0.00021920900000000002,
          "speedup": 0.9945194789875554
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.00021745850000000003,
          "scatter_seconds": 0.00021987500000000002,
          "speedup": 0.989009664582149
        }
      }
    },
    {
      "bytes_read_and_written": 16777216,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          4,
          5,
          6,
          7,
          0,
          1,
          2,
          3
        ],
        "xor_mask": 0
      },
      "dtype": "float16",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 512,
              "element_type": "half",
              "elements": 256,
              "name": "_metile_exchange_f16"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f16",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v30"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v32"
            },
            {
              "dtype": "f16",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        16,
        16
      ],
      "output_shape": [
        16384,
        16,
        16
      ],
      "seed": 16657,
      "tile_shape": [
        16,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.000328896,
          "ownership_seconds": 0.0003300835,
          "speedup": 0.9964024254468945
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.000331625,
          "scatter_seconds": 0.000321542,
          "speedup": 0.9695951752732757
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.0003278955,
          "scatter_seconds": 0.00033504150000000007,
          "speedup": 0.9786712989286399
        }
      }
    },
    {
      "bytes_read_and_written": 33554432,
      "correctness": {
        "bitwise_exact": true,
        "passed": true,
        "reference": "numpy_contiguous_batched_transpose",
        "signed_zero_bits_checked": true,
        "validated_before_timing": true
      },
      "destination_layout": {
        "bit_order": [
          4,
          5,
          6,
          7,
          0,
          1,
          2,
          3
        ],
        "xor_mask": 0
      },
      "dtype": "float32",
      "execution_reports": {
        "ownership": {
          "allocations": [
            {
              "address_space": "threadgroup",
              "bytes": 1024,
              "element_type": "float",
              "elements": 256,
              "name": "_metile_exchange_f32"
            }
          ],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [
            {
              "destination": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "mechanism": "threadgroup",
              "publish": "threadgroup/mem_threadgroup",
              "recycle": "threadgroup/mem_threadgroup",
              "scratch": "_metile_exchange_f32",
              "source": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "value": "v33"
            }
          ],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "checked thread-bit ownership; one scalar per thread",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "threadgroup",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v9"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v11"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v13"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v20"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v21"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v22"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v23"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v24"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v25"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v26"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v27"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v28"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v29"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v30"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  0,
                  1,
                  2,
                  3,
                  4,
                  5,
                  6,
                  7
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v32"
            },
            {
              "dtype": "f32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v33"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v34"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v36"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v38"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v44"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v45"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v46"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v47"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v48"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v49"
            },
            {
              "dtype": "i32",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v50"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v51"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v52"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v53"
            },
            {
              "dtype": "bool",
              "elements_per_thread": 1,
              "layout": {
                "bit_order": [
                  4,
                  5,
                  6,
                  7,
                  0,
                  1,
                  2,
                  3
                ],
                "xor_mask": 0
              },
              "shape": [
                256
              ],
              "value": "v54"
            }
          ],
          "vectorized_loads": 0
        },
        "scatter": {
          "allocations": [],
          "double_buffered": false,
          "epilogue_regions": 0,
          "layout_conversions": [],
          "loops": [],
          "notes": [
            "Layout widths describe emitted Metal operations, not final machine instructions.",
            "Masked tails may use scalar accesses even when aligned interiors are vectorized.",
            "No software double buffering materialized."
          ],
          "passes": [
            "split_elementwise_loops",
            "vectorize_elementwise",
            "fold_constants"
          ],
          "pipelines": [],
          "plan": {
            "backend": "elementwise",
            "cooperative_layout": "scalar lanes",
            "double_buffer": null,
            "outer_bounds_proven": false,
            "reasons": [
              "Lane geometry follows the traced arange/BLOCK contract."
            ],
            "simdgroup_grid": null,
            "staging": "device",
            "threadgroup_size": [
              256,
              1,
              1
            ],
            "tile_shape": [
              256
            ],
            "vector_width": null
          },
          "value_layouts": [],
          "vectorized_loads": 0
        }
      },
      "input_shape": [
        16384,
        16,
        16
      ],
      "output_shape": [
        16384,
        16,
        16
      ],
      "seed": 16657,
      "tile_shape": [
        16,
        16
      ],
      "wall_pairs": {
        "ownership_vs_mlx": {
          "mlx_seconds": 0.00046958350000000004,
          "ownership_seconds": 0.0004700835,
          "speedup": 0.9989363591787417
        },
        "ownership_vs_scatter": {
          "ownership_seconds": 0.00046462500000000003,
          "scatter_seconds": 0.000466687,
          "speedup": 1.0044379876244283
        },
        "scatter_vs_mlx": {
          "mlx_seconds": 0.000464792,
          "scatter_seconds": 0.000474333,
          "speedup": 0.9798854391324239
        }
      }
    }
  ],
  "configuration": {
    "batches": [
      1024,
      16384
    ],
    "dtypes": [
      "float16",
      "float32"
    ],
    "metile_root": "/Users/andreslavescu/Documents/projects/meTile",
    "output_json": "benchmarks/results/m5-thread-layouts.json",
    "rep_ms": 200.0,
    "scatter_only": false,
    "seed": 17,
    "shapes": [
      "4x8",
      "8x8",
      "8x16",
      "16x16"
    ],
    "warmup_ms": 50.0
  },
  "environment": {},
  "hardware": {
    "chip": "Apple M5",
    "machine": "arm64",
    "memory": "32 GB",
    "model_name": "Mac17,2",
    "processor": "arm",
    "release": "25.2.0",
    "system": "Darwin"
  },
  "measurement": {
    "clock": "perf_counter_ns",
    "communication": "compiler_selected_identity_simd_shuffle_or_synchronous_threadgroup",
    "input_allocation_and_compilation_excluded": true,
    "metric": "synchronized_wall_seconds",
    "mlx_output": "mx.contiguous_materialized_transpose_not_a_strided_view",
    "order": "alternating_AB_BA_within_each_pair",
    "output_allocation": "meTile_preallocated_MLX_framework_managed",
    "rep_ms": 200.0,
    "statistic": "middle_80_percent_median",
    "synchronization": "meTile_queue_and_mlx_default_stream_after_each_call",
    "timed_scope": "prepared_meTile_dispatch_vs_compiled_MLX_call_and_eval",
    "warmup_ms": 50.0
  },
  "metile_root": "/Users/andreslavescu/Documents/projects/meTile",
  "precision_comparison": {
    "baseline_weights": "matching_per_case_float16_or_float32_storage",
    "bitwise_exact": true,
    "class": "same_storage_precision",
    "operation": "pure_reordering_without_arithmetic_or_quantization",
    "optimized_weights": "matching_per_case_float16_or_float32_storage",
    "same_weight_representation": true,
    "validation": "numpy_bitwise_reference_and_mlx_contiguous_materialization"
  },
  "recorded_at": "2026-10-02T16:36:43.267514+00:00",
  "schema_version": 1,
  "software": {
    "metal_compiler": "Apple metal version 32023.864 (metalfe-32023.864)\nTarget: air64-apple-darwin25.2.0\nThread model: posix\nInstalledDir: /private/var/run/com.apple.security.cryptexd/mnt/com.apple.MobileAsset.MetalToolchain-v17.3.7003.10.GzPOjD/Metal.xctoolchain/usr/metal/current/bin",
    "metile": "0.0.1",
    "mlx": "0.32.0",
    "numpy": "2.5.3",
    "python": "3.12.12"
  },
  "source_sha256": {
    "metile/__init__.py": "0553a19e26f865c26030e4ae37102bd2ad9eb5f3c56e78c1bc13d0e779722212",
    "metile/backends/__init__.py": "a69e602909b06e96197769e4bd8c20feff1f19c0ad3179b9024fc0dd491306fb",
    "metile/backends/mlx.py": "badc9c3f0e2e4354128ab4ebb4980612c7272098e3290e190139ee82a3b22dc0",
    "metile/backends/mlx_affine.py": "69dac0c8e776d83ebf01ab30375f5c750b609428fc43df4381ba88d10c80fc2a",
    "metile/backends/mlx_attention.py": "53edf481eb0ea14780840948ec7ecbb20ba176381468ee68a691394205cd7f31",
    "metile/backends/mlx_block_scaled.py": "558f2c934768fdcb9a00e9710ab4d642a4d933a903eeb7ce7dc042df4553e76a",
    "metile/backends/mlx_compressed_down.py": "b31a94c27475448975c010dd59bc7b2c1889576b61b536cf0b9af084b5c1c047",
    "metile/backends/mlx_dense.py": "feea78dad21a53cb56f32e1c16b340f30d018cd8906f813dae4eb2a3a3fd769e",
    "metile/backends/mlx_dense_residual.py": "b27771e2735f712fbe94ddf85fb70702f6b5aa592ab0d3d47232d1433e2f7bc5",
    "metile/backends/mlx_dense_swiglu.py": "88341838b024abcaec77709403e506862f9488bc767a452671e1e4df1e0a73a2",
    "metile/backends/mlx_graph.py": "03963e7902645c8db23102279031313b7228dd46166a2d9f41fcc09f3b2b1256",
    "metile/backends/mlx_quantized/__init__.py": "2ad98e4382336c9e2ec8e251b8d4db5e14cca02db2658bec8c4a915fa453d27d",
    "metile/backends/mlx_quantized/common.py": "211f3797aa8df823da6f12919c908f98eb6d0a5f1a9bb6833de4261a7009d5b9",
    "metile/backends/mlx_quantized/dispatch.py": "37ad5d4cb08acbfc8b6eb34dd072a83953585c3780159a65ac40e8b792957cb2",
    "metile/backends/mlx_quantized/qmv.py": "996ee75a0b9113f8e12d162a5e5d8da929e96a4de4a96d635df62336c61dcf49",
    "metile/backends/mlx_quantized/residual.py": "be5d001d4abecb6faf6fcea0074001063258812b644d39eba11a1900de785592",
    "metile/backends/mlx_quantized/swiglu.py": "88f8250c94227d948ce1d7752d1c8b60f89eb3db8fab9a41e81ec49ce1229915",
    "metile/codegen/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "metile/codegen/msl_emitter/__init__.py": "722808c4b4d2b0582820fd499c93eca09f595b91ae598bec69ad4577880716ec",
    "metile/codegen/msl_emitter/block_scaled.py": "3c7cd7f2b895624a47e11e7b72748ea66efecec187e48e391f014f210e15ea54",
    "metile/codegen/msl_emitter/common.py": "b76f97778198b33e4e8039b7b8656d8948e7d3b6c3bdaebd0c8d803d9a0120ce",
    "metile/codegen/msl_emitter/elementwise.py": "3c3be696613ced7b1c9abdd6b6578e8357d2e45eed427e0a25b7280f6e6b113a",
    "metile/codegen/msl_emitter/gemm.py": "dff600f17d22ee214a4d783e188491c9744f56afd07ed4b112e40daf89f9ee12",
    "metile/codegen/msl_emitter/nax.py": "53ac752554c39fa80d89c22fd368ef07149f3ad7240ce380aba375507d406f24",
    "metile/codegen/msl_emitter/simdgroup.py": "61be7105bd75f60a473677634fff1836b5934804e24e2a93c740d386426ae7fc",
    "metile/compile.py": "5102f426f21d8c4e43ff8ef490db87b735dd7da686f2b047a831872d52613747",
    "metile/compiler/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "metile/compiler/affine_quantized.py": "6eee87860d983fb33f0f347717b924efdcd8c4bd213c3c2c328df4196f10bce1",
    "metile/compiler/agx_schedule.py": "27dc8832ce99d916a367bf659074272ef6fdee3dfba5aa9dc99ebf191c55d2b8",
    "metile/compiler/algo_discovery.py": "cec98735866080e102c623f119f7b27b1e0086b1404d59518d54925ad2c392c7",
    "metile/compiler/block_scaled.py": "251ac93ad2c0fa977dee2424b42f676d233e3c4cc9a82eb4d5e7add582b3eed0",
    "metile/compiler/dense.py": "d3555ee5f04697fb748139f1deeacd5b5cba9a4681c73fe0d163c7647b760493",
    "metile/compiler/epilogue.py": "2a882239dc276f3ed03a856a4b1e9129d4b46ff7579717eff931e6a6f7358831",
    "metile/compiler/execution_report.py": "7c196a462925bc0cd2c0eb1465029ceef7683b8ef867662619f5f7ee9527f295",
    "metile/compiler/gemm_configs.py": "78f21e12b0a1b379dd90e0bc59a0e31a8c3fab9b7adf5f8760a2d28091c1cacf",
    "metile/compiler/graph_fusion.py": "477f56a99d9ac1c85b18c544269bf86a633792e2f4495c6f0fff7b80750e25a3",
    "metile/compiler/lowering/__init__.py": "9226cfdd2e825aadd7ace8502e9d3a108d95a44d0a395532db44fc286b8614d3",
    "metile/compiler/lowering/common.py": "e26a45a35dd6db9fb24e6dd43a682292ff1f3de760bb63f4c4e0a31ec7f13cb3",
    "metile/compiler/lowering/elementwise.py": "3e1ee117ef5b2563a890ac6762af7add9bd3a4b4881999e5b30fd5054eeda7ff",
    "metile/compiler/lowering/gemm.py": "1bacd69134a50a1b5d880661193c10644c0dee13e4ba0f6fb6dc4f237d9662e0",
    "metile/compiler/lowering/ownership.py": "c49740852572f142d2e80ee2e6179e8b072ba6569fae8234a6507e29255965c9",
    "metile/compiler/max_flow.py": "aa55ce3e55d18410274e4a23a08c851d7bdfc6cd71b36fdc861b2138dd86e9db",
    "metile/compiler/options.py": "f303563d31f1aed532f31adcde8870d2cb107770769066395dd359d5040dc757",
    "metile/compiler/ownership.py": "6c2fcc6986f3f43bef341b422af0a70069b40248e7525a7b49d1b620647b03c3",
    "metile/compiler/passes.py": "d738d8100ce0e9d07b2cb561b5147e2dccf02429a0caae12eec445278c619f16",
    "metile/compiler/planning.py": "c5e858513364a5f5baaab4eb06a0e235a1f12b5b31f7cecb1077807edce327c7",
    "metile/compiler/reduction_algebra.py": "1721e995a6d28b625e5f8bee6b12d1b15121ae9433cce5226a165b34a814c6b1",
    "metile/compiler/schedule_expr.py": "5a1dedb24b86fdac712cf7dd5a05a67c67f4520192108d11859e1dcd4dfd918c",
    "metile/compiler/schedule_search.py": "c9ab6f30e4491285b68b3085e8d6ed3e89aab91bdcadb3bacc103757ee90d79b",
    "metile/compiler/schedules.py": "6db4d77a4fc4d8c6be5fca88563e05ecf04a46a05c267ce3e56cd80f2e04c094",
    "metile/compiler/scheduling.py": "ce51105ff2983dbac66d5f8936dd08a389945992aa80443c34c4eaf7ff3c0894",
    "metile/compiler/staging.py": "90108ac4c96783c86da3c261c0ee0ec12a15b313becdecc09acdbbf8838c247c",
    "metile/frontend/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "metile/frontend/autotune.py": "8764e7b43be4457d2c337bdd7f867d0373eed720c7327aef482380458669ba1b",
    "metile/frontend/kernel.py": "bbfc9b249aa654d30dccbf99b7cb1b0097006315c1dfdf55742624c6db1b3d57",
    "metile/frontend/tensor.py": "4329b14aad92de8356a244bb7736004549a6e6c5670cfe0c0ae47addc33009b2",
    "metile/frontend/tracing.py": "ac0eaec9fdcfd67077aeaad708240667551198773a4272b364d92f1736dab5ae",
    "metile/integrations/__init__.py": "652dd5312ee9458f627f4cae0cb57bcffb4b186f5aca432c36ca89c6d2a8506f",
    "metile/integrations/mlx_lm/__init__.py": "f8de1d946a2107bcdee92059e1cf5b4efc6dec78296ba513a8186438386c2001",
    "metile/integrations/mlx_lm/_state.py": "172cbafb9be16eea09609c34a8a37309c0e710fed946c286d9ee2eb9c8355826",
    "metile/integrations/mlx_lm/apply.py": "fde44e04e3be0f99ca1d11a3ba7cb2abf99c84f841e8c18daacdc5aa0264eea9",
    "metile/integrations/mlx_lm/autotune.py": "627396bc354abd8471af54c122657fdb704981bbbf06688eb4d7b50dc02e0a9f",
    "metile/integrations/mlx_lm/compressed.py": "b717da12554b983203cfc87db88155b6e73cea4c64027c49f7ad748d7ba07097",
    "metile/integrations/mlx_lm/core.py": "5697e0fa1e0abac92d044314e3e6e0c2f2aa724e9e783cf8749967a5ad970b10",
    "metile/integrations/mlx_lm/modules.py": "f5ff7536efbb643e3e501fccd46809194ae8cc174f36ef04bef86116141a7c74",
    "metile/integrations/mlx_lm/patching.py": "6b2b6448b171d88245bbcc13c668cb16539a4472eb26dbc082382c7ece70ed37",
    "metile/integrations/mlx_lm/plan_model.py": "71be57f1b9bfc66e4767beed48a96d14b8fec156d8eb37a9b4a78ba9d5b29797",
    "metile/integrations/mlx_lm/tuning.py": "a9fd5665fc5508d0d03f78392b05e01247310b8a130fb82842fb8ed048d3e843",
    "metile/ir/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "metile/ir/graph_ir.py": "df6baf153562e58c2352fd99dcb77ad447d9e1433316353e295d71c6bd6002fc",
    "metile/ir/layout.py": "25adadd723df708c0ac8902ebc19273a7dfe397c148a0ecab7f8c6064d106c28",
    "metile/ir/metal_ir.py": "ca4eb977cfd422667db22d8151795202417a31e9717e7696590d77303d8462a9",
    "metile/ir/ownership.py": "750df930a612f727f061e37fc299158f71c76e1b719051689213dedd1a414349",
    "metile/ir/printer.py": "51fa8666ff685194c6b68a18a4efd69f57cd49b6660f09eaa29b800456d70324",
    "metile/ir/tile_ir.py": "dcfecd3d739a338697584f8e898e5e494cfdc62a212b1a84287bfa62e277ef45",
    "metile/ir/types.py": "8f19e67efee7e26ad6fe8f76114bf9213395401e3a56e9aa06a49d4d2df4918e",
    "metile/kernels/__init__.py": "30cfa7e525e2c5f0813971e526ffa30d7faf4c31fadaf067187cd704246e51b0",
    "metile/kernels/add_rmsnorm.py": "b042a33d0e81e060820d745ccfc5da86f4c7ee99c275eca6e73f89a03dba5b8f",
    "metile/kernels/affine_qmv.py": "760b329265388e2a5986a1265cdc73903d73cd7c9db4b833b5814b7572f4d317",
    "metile/kernels/attention.py": "463c03631f9b3255d4182fa9136122336128d0a33792426442b3f477e5d380bc",
    "metile/kernels/fft.py": "987fe73b9bb1a50c802ec83472f043a8a043730526e18dd46141d50904c0e591",
    "metile/kernels/gemm.py": "f5b353fc181e84ab0eb6d275e87d6a026a415d4b23ce367ce685f4e59b76d97e",
    "metile/kernels/layernorm.py": "6253a3aa5a43f668b414320cfc003e6135a27f75d9880497410cf341a39b98c6",
    "metile/kernels/mlp.py": "dea5cfcf3c8192c913de05f06bf11c350953bc1d80330a46b61f25b92b89c689",
    "metile/kernels/reduce.py": "e67c3e690b1a91dd32c0016bff62262e14d12d7e2dc882876cddf6b4c1278bf3",
    "metile/kernels/rmsnorm.py": "34a8856bbc5c945c47e561ef3e49f8b92771672496d041d83dd2b44cf60dea88",
    "metile/kernels/simdgroup_specialized_elementwise.py": "bd4b70d07c06e73f8fd7e53489f6178fa08c8d16320c3d7265077cfc95d1fad0",
    "metile/kernels/softmax.py": "0ac234200855dd91befb15ffdc8fce56e110a7a4650d1f9eafb5f3a06347619c",
    "metile/runtime/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "metile/runtime/address_space.py": "730103157cae2459201ddc1e3aa45736c7d068e77a8743f4186d9ce94337506b",
    "metile/runtime/attention.py": "35bb663fff776606ce7f45f5ff982808c378d72199b76485f7fdf49ad128c8e1",
    "metile/runtime/block_scaled.py": "32ae21160bdd6b0e9c6ed8f7d9b4845c8e6238ae3e99db8724188e5bc99b751b",
    "metile/runtime/buffer.py": "20ed8aed26a26f1057c5faff49b4fc7b326c0d7568bed072cba205b6611f4eeb",
    "metile/runtime/cache.py": "0025c8cf10416b9c5e9e1614d200596ae86a694c75d4a8f1e5d2fdacc8c94da3",
    "metile/runtime/metal_device.py": "b0190c367ba4cd1a13cfbddeb7223a4cc5c8be625adbbd2c90fa4335b06cd4ff",
    "metile/target/__init__.py": "41c7c5614012905213769bdb3f40d31f2a82715e415f28e59585061327261e34",
    "metile/target/agx.py": "c113f2c1071902316342b3f8127d2bf021b7907d1b6ae1ff4ca0007980e4d1d5",
    "metile/target/agx_isa.py": "25b12612f5976f5ed1234c06cad47506a445eb98c8987657983ba751bde0634d",
    "metile/tuning/__init__.py": "bcd0afdc50bd4f7acfb2cc716ffab5c0d63fc48a7a471534a68c5c45e95963c8",
    "metile/tuning/tournament.py": "a624be50382365230616c8694ee230a9b135de29325bbb27dcbde2b5cceccefc"
  }
}
