{
  "schema_version": 1,
  "completion": {
    "schema_version": 1,
    "records": 80,
    "successes": 80,
    "failed_or_censored": 0,
    "finished_at_utc": "2026-10-22T00:29:20.944886+00:00"
  },
  "records": [
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 0,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.003698703949339688,
          "minimum_seconds": 0.0035200160345993936,
          "maximum_seconds": 0.004289271018933505,
          "samples_seconds": [
            0.004289271018933505,
            0.0035200160345993936,
            0.003520832979120314,
            0.003946468001231551,
            0.003698703949339688
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.006310159980785102,
          "minimum_seconds": 0.005575159040745348,
          "maximum_seconds": 0.020559654978569597,
          "samples_seconds": [
            0.020559654978569597,
            0.006536142958793789,
            0.0057581199798733,
            0.006310159980785102,
            0.005575159040745348
          ]
        },
        "backend_setup_seconds": 0.063414003001526,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 5.2680959925055504e-05,
              "warm": {
                "median_seconds": 2.043036511167884e-05,
                "minimum_seconds": 1.9016049918718636e-05,
                "maximum_seconds": 2.515225001843646e-05,
                "samples_seconds": [
                  2.515225001843646e-05,
                  2.1645380184054374e-05,
                  2.043036511167884e-05,
                  1.9016049918718636e-05,
                  1.993302983464673e-05
                ]
              },
              "warm_calls_per_second": 48946.751295617265
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00018550304230302572,
              "warm": {
                "median_seconds": 9.31192547432147e-05,
                "minimum_seconds": 9.114595508435741e-05,
                "maximum_seconds": 0.00010058810992632062,
                "samples_seconds": [
                  0.00010058810992632062,
                  9.215730999130756e-05,
                  9.520757012069226e-05,
                  9.31192547432147e-05,
                  9.114595508435741e-05
                ]
              },
              "warm_calls_per_second": 10738.91756068706
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 8.800404611974955e-05,
              "warm": {
                "median_seconds": 6.625473499298095e-05,
                "minimum_seconds": 6.497848487924785e-05,
                "maximum_seconds": 6.783398508559912e-05,
                "samples_seconds": [
                  6.783398508559912e-05,
                  6.625473499298095e-05,
                  6.630008982028813e-05,
                  6.561205518664792e-05,
                  6.497848487924785e-05
                ]
              },
              "warm_calls_per_second": 15093.260883255216
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00028339604614302516,
              "warm": {
                "median_seconds": 0.000265454004984349,
                "minimum_seconds": 0.0002585416252259165,
                "maximum_seconds": 0.00028089088504202665,
                "samples_seconds": [
                  0.0002662691849400289,
                  0.000265454004984349,
                  0.0002585416252259165,
                  0.0002642737698624842,
                  0.00028089088504202665
                ]
              },
              "warm_calls_per_second": 3767.130957617156
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 60088320,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.102284838038031
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 1,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005762626999057829,
          "minimum_seconds": 0.004318549996241927,
          "maximum_seconds": 0.006316524988505989,
          "samples_seconds": [
            0.006316524988505989,
            0.005762626999057829,
            0.006125238025560975,
            0.004866664996370673,
            0.004318549996241927
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.00786950800102204,
          "minimum_seconds": 0.00573887798236683,
          "maximum_seconds": 0.10403040703386068,
          "samples_seconds": [
            0.10403040703386068,
            0.00786950800102204,
            0.008604659989941865,
            0.007176298007834703,
            0.00573887798236683
          ]
        },
        "backend_setup_seconds": 5.089002661406994e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 4.747300408780575e-05,
              "warm": {
                "median_seconds": 2.0679004956036805e-05,
                "minimum_seconds": 1.9566095143090935e-05,
                "maximum_seconds": 2.2107834811322392e-05,
                "samples_seconds": [
                  2.0679004956036805e-05,
                  2.2107834811322392e-05,
                  2.2015575086697937e-05,
                  1.9566095143090935e-05,
                  1.9747659971471877e-05
                ]
              },
              "warm_calls_per_second": 48358.22623602935
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015430600615218282,
              "warm": {
                "median_seconds": 8.308527496410534e-05,
                "minimum_seconds": 7.979337504366413e-05,
                "maximum_seconds": 8.603491500252858e-05,
                "samples_seconds": [
                  8.308527496410534e-05,
                  7.979337504366413e-05,
                  8.011404512217268e-05,
                  8.393840485950932e-05,
                  8.603491500252858e-05
                ]
              },
              "warm_calls_per_second": 12035.827051568667
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.425595635548234e-05,
              "warm": {
                "median_seconds": 5.929078528424725e-05,
                "minimum_seconds": 5.147111514816061e-05,
                "maximum_seconds": 6.110352522227914e-05,
                "samples_seconds": [
                  5.956416978733614e-05,
                  5.929078528424725e-05,
                  6.110352522227914e-05,
                  5.40194651694037e-05,
                  5.147111514816061e-05
                ]
              },
              "warm_calls_per_second": 16866.027245311023
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002317689941264689,
              "warm": {
                "median_seconds": 0.00025358952989336104,
                "minimum_seconds": 0.0002175948699004948,
                "maximum_seconds": 0.00026108039513928817,
                "samples_seconds": [
                  0.0002175948699004948,
                  0.00026108039513928817,
                  0.00025358952989336104,
                  0.000226255115121603,
                  0.000253768939874135
                ]
              },
              "warm_calls_per_second": 3943.38047166426
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 59957248,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.9977274549892172
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 2,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005773939948994666,
          "minimum_seconds": 0.004490732040721923,
          "maximum_seconds": 0.00803081801859662,
          "samples_seconds": [
            0.00803081801859662,
            0.0058163320063613355,
            0.005773939948994666,
            0.005430681980215013,
            0.004490732040721923
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.007826891960576177,
          "minimum_seconds": 0.007390635029878467,
          "maximum_seconds": 0.10899948596488684,
          "samples_seconds": [
            0.10899948596488684,
            0.00795897503849119,
            0.007453504018485546,
            0.007826891960576177,
            0.007390635029878467
          ]
        },
        "backend_setup_seconds": 0.7190057169646025,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1291759759769775,
              "first_evaluation_seconds": 0.0007301270379684865,
              "warm": {
                "median_seconds": 2.0093360217288136e-05,
                "minimum_seconds": 1.7493320046924055e-05,
                "maximum_seconds": 2.3256065032910557e-05,
                "samples_seconds": [
                  2.3256065032910557e-05,
                  2.2358465066645295e-05,
                  2.0093360217288136e-05,
                  1.8714065081439912e-05,
                  1.7493320046924055e-05
                ]
              },
              "warm_calls_per_second": 49767.68391080799
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.13354827999137342,
              "first_evaluation_seconds": 0.0006968899979256094,
              "warm": {
                "median_seconds": 2.5003659829962998e-05,
                "minimum_seconds": 2.230116515420377e-05,
                "maximum_seconds": 2.7736535121221094e-05,
                "samples_seconds": [
                  2.7736535121221094e-05,
                  2.71184099256061e-05,
                  2.5003659829962998e-05,
                  2.4797130026854575e-05,
                  2.230116515420377e-05
                ]
              },
              "warm_calls_per_second": 39994.14512917247
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.12470323598245159,
              "first_evaluation_seconds": 0.0006313010235317051,
              "warm": {
                "median_seconds": 2.1970189991407096e-05,
                "minimum_seconds": 1.8927679921034724e-05,
                "maximum_seconds": 2.5690949987620114e-05,
                "samples_seconds": [
                  2.5690949987620114e-05,
                  2.399344986770302e-05,
                  2.1970189991407096e-05,
                  2.039342507487163e-05,
                  1.8927679921034724e-05
                ]
              },
              "warm_calls_per_second": 45516.21995035621
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.124733219970949,
              "first_evaluation_seconds": 0.0006430840003304183,
              "warm": {
                "median_seconds": 2.0974790095351638e-05,
                "minimum_seconds": 1.8393424979876727e-05,
                "maximum_seconds": 2.4523090105503796e-05,
                "samples_seconds": [
                  2.4523090105503796e-05,
                  2.2635504719801248e-05,
                  2.0974790095351638e-05,
                  1.956335996510461e-05,
                  1.8393424979876727e-05
                ]
              },
              "warm_calls_per_second": 47676.28164353438
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 274812928,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.348383374977857
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 3,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.004491754982154816,
          "minimum_seconds": 0.003496575984172523,
          "maximum_seconds": 0.006309149961452931,
          "samples_seconds": [
            0.006309149961452931,
            0.005819145997520536,
            0.004491754982154816,
            0.004004189977422357,
            0.003496575984172523
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.006703684979584068,
          "minimum_seconds": 0.00523678696481511,
          "maximum_seconds": 0.015266051981598139,
          "samples_seconds": [
            0.015266051981598139,
            0.0071687430026941,
            0.006703684979584068,
            0.005712187965400517,
            0.00523678696481511
          ]
        },
        "backend_setup_seconds": 0.6901882319943979,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1405725070508197,
              "first_evaluation_seconds": 0.0007280659629032016,
              "warm": {
                "median_seconds": 2.477923990227282e-05,
                "minimum_seconds": 2.1700230136048048e-05,
                "maximum_seconds": 2.6995920052286237e-05,
                "samples_seconds": [
                  2.6995920052286237e-05,
                  2.542486472520977e-05,
                  2.477923990227282e-05,
                  2.2055090230423957e-05,
                  2.1700230136048048e-05
                ]
              },
              "warm_calls_per_second": 40356.36298546338
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.13484454900026321,
              "first_evaluation_seconds": 0.0007406290387734771,
              "warm": {
                "median_seconds": 2.2516989847645164e-05,
                "minimum_seconds": 2.0373035222291947e-05,
                "maximum_seconds": 2.613505523186177e-05,
                "samples_seconds": [
                  2.613505523186177e-05,
                  2.4532265088055282e-05,
                  2.2516989847645164e-05,
                  2.064514992525801e-05,
                  2.0373035222291947e-05
                ]
              },
              "warm_calls_per_second": 44410.9095738914
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.11089028196875006,
              "first_evaluation_seconds": 0.0006027500494383276,
              "warm": {
                "median_seconds": 2.0210814836900683e-05,
                "minimum_seconds": 1.7534704820718616e-05,
                "maximum_seconds": 2.314865996595472e-05,
                "samples_seconds": [
                  2.314865996595472e-05,
                  2.1608535025734454e-05,
                  2.0210814836900683e-05,
                  1.8891690124291927e-05,
                  1.7534704820718616e-05
                ]
              },
              "warm_calls_per_second": 49478.4603228471
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1346393229905516,
              "first_evaluation_seconds": 0.0007006460218690336,
              "warm": {
                "median_seconds": 2.5709255132824183e-05,
                "minimum_seconds": 2.3059785016812386e-05,
                "maximum_seconds": 2.7108305075671524e-05,
                "samples_seconds": [
                  2.7108305075671524e-05,
                  2.5709255132824183e-05,
                  2.6792899880092592e-05,
                  2.3994549992494284e-05,
                  2.3059785016812386e-05
                ]
              },
              "warm_calls_per_second": 38896.49835569348
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 269524992,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.287058808957227
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 4,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.004242383991368115,
          "minimum_seconds": 0.0034918279852718115,
          "maximum_seconds": 0.007153304002713412,
          "samples_seconds": [
            0.007153304002713412,
            0.005724760005250573,
            0.004111254995223135,
            0.0034918279852718115,
            0.004242383991368115
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005922092997934669,
          "minimum_seconds": 0.0051231320248916745,
          "maximum_seconds": 0.015828277973923832,
          "samples_seconds": [
            0.015828277973923832,
            0.007495139958336949,
            0.005922092997934669,
            0.0051231320248916745,
            0.0054246720392256975
          ]
        },
        "backend_setup_seconds": 1.509596178017091,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001060590147972107,
              "warm": {
                "median_seconds": 4.8705500084906816e-05,
                "minimum_seconds": 4.148071486270055e-05,
                "maximum_seconds": 5.49458950990811e-05,
                "samples_seconds": [
                  5.49458950990811e-05,
                  4.8705500084906816e-05,
                  5.272417998639867e-05,
                  4.17603601817973e-05,
                  4.148071486270055e-05
                ]
              },
              "warm_calls_per_second": 20531.56210811367
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00021006999304518104,
              "warm": {
                "median_seconds": 0.00012208916014060377,
                "minimum_seconds": 0.00011779529508203268,
                "maximum_seconds": 0.00013013555988436565,
                "samples_seconds": [
                  0.00013013555988436565,
                  0.00012093026482034474,
                  0.00012392959994031116,
                  0.00012208916014060377,
                  0.00011779529508203268
                ]
              },
              "warm_calls_per_second": 8190.735351511566
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00023517000954598188,
              "warm": {
                "median_seconds": 8.190796012058854e-05,
                "minimum_seconds": 8.098539488855749e-05,
                "maximum_seconds": 8.2578704750631e-05,
                "samples_seconds": [
                  8.2578704750631e-05,
                  8.160778495948762e-05,
                  8.206883008824661e-05,
                  8.098539488855749e-05,
                  8.190796012058854e-05
                ]
              },
              "warm_calls_per_second": 12208.825595555738
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003619039780460298,
              "warm": {
                "median_seconds": 0.0002776980999624357,
                "minimum_seconds": 0.00023730088985757903,
                "maximum_seconds": 0.0008905564551241696,
                "samples_seconds": [
                  0.0008905564551241696,
                  0.00037433962512295693,
                  0.0002776980999624357,
                  0.00023807701974874363,
                  0.00023730088985757903
                ]
              },
              "warm_calls_per_second": 3601.032920769967
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 250286080,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.5738446870236658
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 5,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.006718103017192334,
          "minimum_seconds": 0.005491446005180478,
          "maximum_seconds": 0.009934292989782989,
          "samples_seconds": [
            0.009934292989782989,
            0.005663883988745511,
            0.006718103017192334,
            0.005491446005180478,
            0.0068038459867239
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.009820114995818585,
          "minimum_seconds": 0.008626588969491422,
          "maximum_seconds": 0.1162493969895877,
          "samples_seconds": [
            0.1162493969895877,
            0.008835704007651657,
            0.008626588969491422,
            0.009820114995818585,
            0.009830389055423439
          ]
        },
        "backend_setup_seconds": 1.6031145370216109,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011823198292404413,
              "warm": {
                "median_seconds": 4.902122484054416e-05,
                "minimum_seconds": 4.8471189802512524e-05,
                "maximum_seconds": 4.9966769875027236e-05,
                "samples_seconds": [
                  4.92968299658969e-05,
                  4.872307501500473e-05,
                  4.902122484054416e-05,
                  4.9966769875027236e-05,
                  4.8471189802512524e-05
                ]
              },
              "warm_calls_per_second": 20399.32709255617
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003680079826153815,
              "warm": {
                "median_seconds": 0.0001197956400574185,
                "minimum_seconds": 0.00011807194503489882,
                "maximum_seconds": 0.00016148803988471627,
                "samples_seconds": [
                  0.00016148803988471627,
                  0.00011807194503489882,
                  0.0001196557650109753,
                  0.00012756871001329273,
                  0.0001197956400574185
                ]
              },
              "warm_calls_per_second": 8347.549205636335
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00017500901594758034,
              "warm": {
                "median_seconds": 8.212246000766755e-05,
                "minimum_seconds": 7.941438496345655e-05,
                "maximum_seconds": 8.53438299964182e-05,
                "samples_seconds": [
                  8.212246000766755e-05,
                  7.971640006871894e-05,
                  8.356091508176178e-05,
                  7.941438496345655e-05,
                  8.53438299964182e-05
                ]
              },
              "warm_calls_per_second": 12176.936734562418
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00041850301204249263,
              "warm": {
                "median_seconds": 0.00024632047017803416,
                "minimum_seconds": 0.00024038534495048224,
                "maximum_seconds": 0.0002650094250566326,
                "samples_seconds": [
                  0.0002650094250566326,
                  0.00024632047017803416,
                  0.0002489647248876281,
                  0.00024156521016266197,
                  0.00024038534495048224
                ]
              },
              "warm_calls_per_second": 4059.7519129336897
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 258920448,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.7053483180352487
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 6,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006948494003154337,
          "minimum_seconds": 0.005843657010700554,
          "maximum_seconds": 0.007058957009576261,
          "samples_seconds": [
            0.00685731996782124,
            0.007058957009576261,
            0.007046487997286022,
            0.005843657010700554,
            0.006948494003154337
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.00428413599729538,
          "minimum_seconds": 0.0042313989833928645,
          "maximum_seconds": 0.10684902698267251,
          "samples_seconds": [
            0.10684902698267251,
            0.004279332992155105,
            0.005447500967420638,
            0.0042313989833928645,
            0.00428413599729538
          ]
        },
        "backend_setup_seconds": 6.484996993094683e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011219899170100689,
              "warm": {
                "median_seconds": 3.433504491113126e-05,
                "minimum_seconds": 2.6084579876624047e-05,
                "maximum_seconds": 4.3578059994615614e-05,
                "samples_seconds": [
                  4.3578059994615614e-05,
                  3.433504491113126e-05,
                  3.576348506612703e-05,
                  3.119041008176282e-05,
                  2.6084579876624047e-05
                ]
              },
              "warm_calls_per_second": 29124.76167100643
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015305198030546308,
              "warm": {
                "median_seconds": 0.00010218798503046856,
                "minimum_seconds": 9.234622004441917e-05,
                "maximum_seconds": 0.00010946296504698693,
                "samples_seconds": [
                  0.00010311439982615411,
                  9.234622004441917e-05,
                  0.00010946296504698693,
                  0.00010218798503046856,
                  9.345794998807832e-05
                ]
              },
              "warm_calls_per_second": 9785.886273242771
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 8.173199603334069e-05,
              "warm": {
                "median_seconds": 6.127338012447581e-05,
                "minimum_seconds": 5.725372990127653e-05,
                "maximum_seconds": 6.199638999532909e-05,
                "samples_seconds": [
                  6.199638999532909e-05,
                  6.127338012447581e-05,
                  6.010495504597202e-05,
                  5.725372990127653e-05,
                  6.14805199438706e-05
                ]
              },
              "warm_calls_per_second": 16320.30088708208
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59727872,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.9307835249928758
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 7,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006401551014278084,
          "minimum_seconds": 0.004905692010652274,
          "maximum_seconds": 0.006784746015910059,
          "samples_seconds": [
            0.006784746015910059,
            0.0058431540383026,
            0.006401551014278084,
            0.006470154970884323,
            0.004905692010652274
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004881731991190463,
          "minimum_seconds": 0.004085062013473362,
          "maximum_seconds": 0.011942469980567694,
          "samples_seconds": [
            0.011942469980567694,
            0.0052470340160652995,
            0.004122623999137431,
            0.004085062013473362,
            0.004881731991190463
          ]
        },
        "backend_setup_seconds": 0.09094451699638739,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.45859937928617e-05,
              "warm": {
                "median_seconds": 3.475979494396597e-05,
                "minimum_seconds": 3.041371499421075e-05,
                "maximum_seconds": 4.6534074936062095e-05,
                "samples_seconds": [
                  4.6534074936062095e-05,
                  3.475979494396597e-05,
                  4.18527249712497e-05,
                  3.1693070195615294e-05,
                  3.041371499421075e-05
                ]
              },
              "warm_calls_per_second": 28768.869367959036
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002937419922091067,
              "warm": {
                "median_seconds": 0.0001121488498756662,
                "minimum_seconds": 0.00010900980996666476,
                "maximum_seconds": 0.0001330432150280103,
                "samples_seconds": [
                  0.00011629971006186679,
                  0.00011184610979398712,
                  0.00010900980996666476,
                  0.0001121488498756662,
                  0.0001330432150280103
                ]
              },
              "warm_calls_per_second": 8916.720957090953
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016020803013816476,
              "warm": {
                "median_seconds": 0.00010729042522143572,
                "minimum_seconds": 7.744634989649057e-05,
                "maximum_seconds": 0.00011289549991488456,
                "samples_seconds": [
                  0.00011289549991488456,
                  0.00011247260001255199,
                  0.00010729042522143572,
                  8.661564992507919e-05,
                  7.744634989649057e-05
                ]
              },
              "warm_calls_per_second": 9320.496194661446
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59396096,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.8747463570325635
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 8,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006303142989054322,
          "minimum_seconds": 0.005324318015482277,
          "maximum_seconds": 0.008076415047980845,
          "samples_seconds": [
            0.008076415047980845,
            0.006834537023678422,
            0.006303142989054322,
            0.005324318015482277,
            0.00562555599026382
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004244932031724602,
          "minimum_seconds": 0.0036419150419533253,
          "maximum_seconds": 0.010995579999871552,
          "samples_seconds": [
            0.010995579999871552,
            0.004244932031724602,
            0.005534875032026321,
            0.0036419150419533253,
            0.003826518019195646
          ]
        },
        "backend_setup_seconds": 0.718787134042941,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15945696097332984,
              "first_evaluation_seconds": 0.0007449669647030532,
              "warm": {
                "median_seconds": 2.5169125001411886e-05,
                "minimum_seconds": 2.026199013926089e-05,
                "maximum_seconds": 2.6929885207209738e-05,
                "samples_seconds": [
                  2.6929885207209738e-05,
                  2.5972560106310993e-05,
                  2.5169125001411886e-05,
                  2.238729503005743e-05,
                  2.026199013926089e-05
                ]
              },
              "warm_calls_per_second": 39731.218305916635
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.16195218497887254,
              "first_evaluation_seconds": 0.0007437440217472613,
              "warm": {
                "median_seconds": 2.3834144813008606e-05,
                "minimum_seconds": 2.0544565049931407e-05,
                "maximum_seconds": 2.7773629990406335e-05,
                "samples_seconds": [
                  2.7773629990406335e-05,
                  2.5619090010877698e-05,
                  2.3834144813008606e-05,
                  2.201384981162846e-05,
                  2.0544565049931407e-05
                ]
              },
              "warm_calls_per_second": 41956.613415145606
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.13148057798389345,
              "first_evaluation_seconds": 0.000657329976093024,
              "warm": {
                "median_seconds": 2.2499909973703325e-05,
                "minimum_seconds": 1.8734489858616145e-05,
                "maximum_seconds": 2.4722094822209327e-05,
                "samples_seconds": [
                  2.4722094822209327e-05,
                  2.3110249894671143e-05,
                  2.2499909973703325e-05,
                  1.9900389888789503e-05,
                  1.8734489858616145e-05
                ]
              },
              "warm_calls_per_second": 44444.6222748778
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 263491584,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.382824753993191
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 9,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.004786552977748215,
          "minimum_seconds": 0.0037301619886420667,
          "maximum_seconds": 0.005650670034810901,
          "samples_seconds": [
            0.005650670034810901,
            0.004786552977748215,
            0.005289433000143617,
            0.003861469042021781,
            0.0037301619886420667
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0031477880547754467,
          "minimum_seconds": 0.0027482699952088296,
          "maximum_seconds": 0.08396574598737061,
          "samples_seconds": [
            0.08396574598737061,
            0.0034076179726980627,
            0.0031477880547754467,
            0.0027482699952088296,
            0.003006732033099979
          ]
        },
        "backend_setup_seconds": 0.6386240179999731,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.143263311998453,
              "first_evaluation_seconds": 0.0006621719803661108,
              "warm": {
                "median_seconds": 2.0922515250276775e-05,
                "minimum_seconds": 1.8389335018582642e-05,
                "maximum_seconds": 2.3680574959143996e-05,
                "samples_seconds": [
                  2.3680574959143996e-05,
                  2.2075205051805825e-05,
                  2.0922515250276775e-05,
                  1.923424017149955e-05,
                  1.8389335018582642e-05
                ]
              },
              "warm_calls_per_second": 47795.40069814366
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18259121797746047,
              "first_evaluation_seconds": 0.000704560021404177,
              "warm": {
                "median_seconds": 2.7375890058465303e-05,
                "minimum_seconds": 2.7207224920857698e-05,
                "maximum_seconds": 2.920266502769664e-05,
                "samples_seconds": [
                  2.7631859993562102e-05,
                  2.920266502769664e-05,
                  2.7356460050214084e-05,
                  2.7207224920857698e-05,
                  2.7375890058465303e-05
                ]
              },
              "warm_calls_per_second": 36528.492694277724
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15414800104917958,
              "first_evaluation_seconds": 0.000675044022500515,
              "warm": {
                "median_seconds": 2.465220488375053e-05,
                "minimum_seconds": 2.0616124966181816e-05,
                "maximum_seconds": 2.734434499870986e-05,
                "samples_seconds": [
                  2.6958054804708808e-05,
                  2.734434499870986e-05,
                  2.465220488375053e-05,
                  2.227493008831516e-05,
                  2.0616124966181816e-05
                ]
              },
              "warm_calls_per_second": 40564.32293645055
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 269332480,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.29260217200499
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 10,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.004556090978439897,
          "minimum_seconds": 0.003577015013433993,
          "maximum_seconds": 0.0059492019936442375,
          "samples_seconds": [
            0.0059492019936442375,
            0.004556090978439897,
            0.004936420009471476,
            0.0037035730201750994,
            0.003577015013433993
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0028918040334247053,
          "minimum_seconds": 0.0026647350168786943,
          "maximum_seconds": 0.08175533200846985,
          "samples_seconds": [
            0.08175533200846985,
            0.003158545005135238,
            0.0028918040334247053,
            0.0027031070203520358,
            0.0026647350168786943
          ]
        },
        "backend_setup_seconds": 1.4685176660423167,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011533702490851283,
              "warm": {
                "median_seconds": 5.6393494887743145e-05,
                "minimum_seconds": 5.463231500471011e-05,
                "maximum_seconds": 5.7036689831875264e-05,
                "samples_seconds": [
                  5.7036689831875264e-05,
                  5.6687195028644054e-05,
                  5.484895489644259e-05,
                  5.6393494887743145e-05,
                  5.463231500471011e-05
                ]
              },
              "warm_calls_per_second": 17732.54170521971
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003043990000151098,
              "warm": {
                "median_seconds": 0.00012584084004629403,
                "minimum_seconds": 0.00012057907995767892,
                "maximum_seconds": 0.00018554842507001012,
                "samples_seconds": [
                  0.00018554842507001012,
                  0.00013537622493458912,
                  0.00012057907995767892,
                  0.00012139282509451732,
                  0.00012584084004629403
                ]
              },
              "warm_calls_per_second": 7946.545808436454
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00014800200005993247,
              "warm": {
                "median_seconds": 8.403970510698854e-05,
                "minimum_seconds": 8.219729003030806e-05,
                "maximum_seconds": 8.848105993820354e-05,
                "samples_seconds": [
                  8.745280996663496e-05,
                  8.343964989762753e-05,
                  8.848105993820354e-05,
                  8.403970510698854e-05,
                  8.219729003030806e-05
                ]
              },
              "warm_calls_per_second": 11899.137422328275
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 258433024,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.1297117689973675
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 11,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.0056070840219035745,
          "minimum_seconds": 0.004388409026432782,
          "maximum_seconds": 0.006840972986537963,
          "samples_seconds": [
            0.006840972986537963,
            0.0056070840219035745,
            0.0062011630507186055,
            0.0045886479783803225,
            0.004388409026432782
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0041286079795099795,
          "minimum_seconds": 0.003298281051684171,
          "maximum_seconds": 0.011196695966646075,
          "samples_seconds": [
            0.011196695966646075,
            0.0041286079795099795,
            0.0038208449841476977,
            0.004195253015495837,
            0.003298281051684171
          ]
        },
        "backend_setup_seconds": 1.4879766529775225,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00013520795619115233,
              "warm": {
                "median_seconds": 4.8875125066842884e-05,
                "minimum_seconds": 3.523807507008314e-05,
                "maximum_seconds": 5.5775174987502394e-05,
                "samples_seconds": [
                  5.5775174987502394e-05,
                  5.4254809801932426e-05,
                  4.8875125066842884e-05,
                  3.904205019352957e-05,
                  3.523807507008314e-05
                ]
              },
              "warm_calls_per_second": 20460.3057001363
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002174390247091651,
              "warm": {
                "median_seconds": 0.00012396665988489985,
                "minimum_seconds": 0.00012050699500832706,
                "maximum_seconds": 0.00013937190000433473,
                "samples_seconds": [
                  0.00012534746987512334,
                  0.0001227260148152709,
                  0.00013937190000433473,
                  0.00012050699500832706,
                  0.00012396665988489985
                ]
              },
              "warm_calls_per_second": 8066.685033931515
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001422869972884655,
              "warm": {
                "median_seconds": 8.230489998823032e-05,
                "minimum_seconds": 8.095410506939516e-05,
                "maximum_seconds": 8.46251001348719e-05,
                "samples_seconds": [
                  8.46251001348719e-05,
                  8.095410506939516e-05,
                  8.244119992014021e-05,
                  8.230489998823032e-05,
                  8.209560997784138e-05
                ]
              },
              "warm_calls_per_second": 12149.944901737332
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 249708544,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.07900378794875
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 12,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.10452617099508643,
          "minimum_seconds": 0.06843618303537369,
          "maximum_seconds": 0.15597702900413424,
          "samples_seconds": [
            0.15597702900413424,
            0.10492788400733843,
            0.06843618303537369,
            0.10452617099508643,
            0.07578582898713648
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02862224302953109,
          "minimum_seconds": 0.02129532501567155,
          "maximum_seconds": 0.06591650599148124,
          "samples_seconds": [
            0.042582619993481785,
            0.02129532501567155,
            0.06591650599148124,
            0.022422738024033606,
            0.02862224302953109
          ]
        },
        "backend_setup_seconds": 0.14059130899840966,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016743200831115246,
              "warm": {
                "median_seconds": 4.954924981575459e-05,
                "minimum_seconds": 4.8412909964099524e-05,
                "maximum_seconds": 4.9743975105229764e-05,
                "samples_seconds": [
                  4.963006998877972e-05,
                  4.841852496610955e-05,
                  4.9743975105229764e-05,
                  4.8412909964099524e-05,
                  4.954924981575459e-05
                ]
              },
              "warm_calls_per_second": 20181.94026586537
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0004594280035234988,
              "warm": {
                "median_seconds": 0.00018124002002878114,
                "minimum_seconds": 0.00010837034496944398,
                "maximum_seconds": 0.00022042317024897784,
                "samples_seconds": [
                  0.00022042317024897784,
                  0.00018124002002878114,
                  0.00018607307487400248,
                  0.00012086576520232483,
                  0.00010837034496944398
                ]
              },
              "warm_calls_per_second": 5517.545185887746
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00010521401418372989,
              "warm": {
                "median_seconds": 8.147305488819257e-05,
                "minimum_seconds": 7.702555012656376e-05,
                "maximum_seconds": 8.827805519104004e-05,
                "samples_seconds": [
                  8.147305488819257e-05,
                  8.18337601958774e-05,
                  8.827805519104004e-05,
                  7.702555012656376e-05,
                  7.856152020394801e-05
                ]
              },
              "warm_calls_per_second": 12273.996616087663
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0010350800002925098,
              "warm": {
                "median_seconds": 0.0009562286949949339,
                "minimum_seconds": 0.000949478319962509,
                "maximum_seconds": 0.001035059075220488,
                "samples_seconds": [
                  0.001035059075220488,
                  0.0009874224598752335,
                  0.0009562286949949339,
                  0.000949478319962509,
                  0.0009526789298979566
                ]
              },
              "warm_calls_per_second": 1045.7749335845836
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 64409600,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 2.6409831839846447
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 13,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.0933995809755288,
          "minimum_seconds": 0.05985456402413547,
          "maximum_seconds": 0.10077811795054004,
          "samples_seconds": [
            0.0933995809755288,
            0.05985456402413547,
            0.10077811795054004,
            0.0677298930240795,
            0.09638979897135869
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.021351468050852418,
          "minimum_seconds": 0.013991184008773416,
          "maximum_seconds": 0.11436459404649213,
          "samples_seconds": [
            0.11436459404649213,
            0.013991184008773416,
            0.021351468050852418,
            0.014716077013872564,
            0.022139974986203015
          ]
        },
        "backend_setup_seconds": 7.75019871070981e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 6.936100544407964e-05,
              "warm": {
                "median_seconds": 3.0807569855824114e-05,
                "minimum_seconds": 3.0779824883211404e-05,
                "maximum_seconds": 3.111109486781061e-05,
                "samples_seconds": [
                  3.0797910003457215e-05,
                  3.0807569855824114e-05,
                  3.0779824883211404e-05,
                  3.093990497291088e-05,
                  3.111109486781061e-05
                ]
              },
              "warm_calls_per_second": 32459.55473540708
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00021417095558717847,
              "warm": {
                "median_seconds": 8.88013350777328e-05,
                "minimum_seconds": 8.498792012687773e-05,
                "maximum_seconds": 0.00013222589012002573,
                "samples_seconds": [
                  0.00013222589012002573,
                  9.786328999325633e-05,
                  8.73865548055619e-05,
                  8.498792012687773e-05,
                  8.88013350777328e-05
                ]
              },
              "warm_calls_per_second": 11261.09195458203
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.120599133893847e-05,
              "warm": {
                "median_seconds": 5.980072019156069e-05,
                "minimum_seconds": 5.8748010196723044e-05,
                "maximum_seconds": 6.0954309883527455e-05,
                "samples_seconds": [
                  6.0791595024056734e-05,
                  5.980072019156069e-05,
                  6.0954309883527455e-05,
                  5.875666480278596e-05,
                  5.8748010196723044e-05
                ]
              },
              "warm_calls_per_second": 16722.206635583694
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0008122239960357547,
              "warm": {
                "median_seconds": 0.0007856301800347865,
                "minimum_seconds": 0.0007659066500491462,
                "maximum_seconds": 0.0007933658600086346,
                "samples_seconds": [
                  0.0007933658600086346,
                  0.0007699250799487345,
                  0.0007659066500491462,
                  0.0007893208650057204,
                  0.0007856301800347865
                ]
              },
              "warm_calls_per_second": 1272.8635246111874
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 68788224,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 2.0143585490295663
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 14,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.08711879700422287,
          "minimum_seconds": 0.058792999014258385,
          "maximum_seconds": 0.10343351901974529,
          "samples_seconds": [
            0.08711879700422287,
            0.058792999014258385,
            0.10343351901974529,
            0.06984842999372631,
            0.09835664898855612
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02135459298733622,
          "minimum_seconds": 0.014739430043846369,
          "maximum_seconds": 0.11486713803606108,
          "samples_seconds": [
            0.11486713803606108,
            0.014864089025650173,
            0.02135459298733622,
            0.014739430043846369,
            0.02202987700002268
          ]
        },
        "backend_setup_seconds": 0.6590068510267884,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.16541698097717017,
              "first_evaluation_seconds": 0.0018743639811873436,
              "warm": {
                "median_seconds": 4.891933494945988e-05,
                "minimum_seconds": 3.720248001627624e-05,
                "maximum_seconds": 5.823533982038498e-05,
                "samples_seconds": [
                  3.771743999095634e-05,
                  3.720248001627624e-05,
                  4.891933494945988e-05,
                  5.7494755019433796e-05,
                  5.823533982038498e-05
                ]
              },
              "warm_calls_per_second": 20441.81510302893
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14728775899857283,
              "first_evaluation_seconds": 0.0006518620066344738,
              "warm": {
                "median_seconds": 2.6240645092912017e-05,
                "minimum_seconds": 2.578164974693209e-05,
                "maximum_seconds": 3.1590500148013236e-05,
                "samples_seconds": [
                  3.1590500148013236e-05,
                  2.86409750697203e-05,
                  2.6240645092912017e-05,
                  2.5818324938882143e-05,
                  2.578164974693209e-05
                ]
              },
              "warm_calls_per_second": 38108.81921763862
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.12051112001063302,
              "first_evaluation_seconds": 0.0006493719993159175,
              "warm": {
                "median_seconds": 2.655109012266621e-05,
                "minimum_seconds": 2.5923889770638196e-05,
                "maximum_seconds": 3.149306023260579e-05,
                "samples_seconds": [
                  3.149306023260579e-05,
                  2.872516488423571e-05,
                  2.5923889770638196e-05,
                  2.655109012266621e-05,
                  2.6389810082037e-05
                ]
              },
              "warm_calls_per_second": 37663.237003828974
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15815653698518872,
              "first_evaluation_seconds": 0.000698431977070868,
              "warm": {
                "median_seconds": 3.074092994211242e-05,
                "minimum_seconds": 2.7500615105964242e-05,
                "maximum_seconds": 3.887584491167218e-05,
                "samples_seconds": [
                  3.887584491167218e-05,
                  3.318576491437852e-05,
                  3.074092994211242e-05,
                  2.7500615105964242e-05,
                  2.8230804891791193e-05
                ]
              },
              "warm_calls_per_second": 32529.920268615115
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 279842816,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.128120275971014
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 15,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.08159437298309058,
          "minimum_seconds": 0.050779719022102654,
          "maximum_seconds": 0.11345341400010511,
          "samples_seconds": [
            0.08159437298309058,
            0.07821161102037877,
            0.050779719022102654,
            0.09332134999567643,
            0.11345341400010511
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02803546196082607,
          "minimum_seconds": 0.013952758978120983,
          "maximum_seconds": 0.058070175000466406,
          "samples_seconds": [
            0.032538279017899185,
            0.013952758978120983,
            0.058070175000466406,
            0.022554477967787534,
            0.02803546196082607
          ]
        },
        "backend_setup_seconds": 0.6916690910002217,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15744104504119605,
              "first_evaluation_seconds": 0.002054831013083458,
              "warm": {
                "median_seconds": 3.333335480419919e-05,
                "minimum_seconds": 2.7086609916295855e-05,
                "maximum_seconds": 4.030181997222826e-05,
                "samples_seconds": [
                  4.030181997222826e-05,
                  3.544485516613349e-05,
                  3.333335480419919e-05,
                  2.9791145061608403e-05,
                  2.7086609916295855e-05
                ]
              },
              "warm_calls_per_second": 29999.980676233175
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14341750397579744,
              "first_evaluation_seconds": 0.0006826529861427844,
              "warm": {
                "median_seconds": 2.7250640268903226e-05,
                "minimum_seconds": 2.604467998025939e-05,
                "maximum_seconds": 3.236630989704281e-05,
                "samples_seconds": [
                  3.236630989704281e-05,
                  3.02583648590371e-05,
                  2.7250640268903226e-05,
                  2.604467998025939e-05,
                  2.7083774912171067e-05
                ]
              },
              "warm_calls_per_second": 36696.385484239036
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.12294238602044061,
              "first_evaluation_seconds": 0.000627628993242979,
              "warm": {
                "median_seconds": 2.708485524635762e-05,
                "minimum_seconds": 2.6583459984976798e-05,
                "maximum_seconds": 3.145393478916958e-05,
                "samples_seconds": [
                  3.145393478916958e-05,
                  2.8231785108800977e-05,
                  2.6583459984976798e-05,
                  2.708485524635762e-05,
                  2.6628630002960563e-05
                ]
              },
              "warm_calls_per_second": 36921.00219492516
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14874815696384758,
              "first_evaluation_seconds": 0.0006740560056641698,
              "warm": {
                "median_seconds": 2.7814469940494747e-05,
                "minimum_seconds": 2.6942979893647134e-05,
                "maximum_seconds": 3.426490497076884e-05,
                "samples_seconds": [
                  3.426490497076884e-05,
                  3.0170199752319605e-05,
                  2.7814469940494747e-05,
                  2.7144774794578552e-05,
                  2.6942979893647134e-05
                ]
              },
              "warm_calls_per_second": 35952.50968792011
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 274403328,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.057420959987212
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 16,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.058173266996163875,
          "minimum_seconds": 0.05256136995740235,
          "maximum_seconds": 0.08230859995819628,
          "samples_seconds": [
            0.08230859995819628,
            0.058173266996163875,
            0.05256136995740235,
            0.0795006700209342,
            0.05746964499121532
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.01692814298439771,
          "minimum_seconds": 0.013826577982399613,
          "maximum_seconds": 0.04758136998862028,
          "samples_seconds": [
            0.025817256013397127,
            0.013826577982399613,
            0.04758136998862028,
            0.01692814298439771,
            0.014589899976272136
          ]
        },
        "backend_setup_seconds": 1.4546111520030536,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012100505409762263,
              "warm": {
                "median_seconds": 5.0718389975372705e-05,
                "minimum_seconds": 3.7651714810635896e-05,
                "maximum_seconds": 5.708484502974898e-05,
                "samples_seconds": [
                  5.186981026781723e-05,
                  5.708484502974898e-05,
                  5.0718389975372705e-05,
                  4.3781774875242265e-05,
                  3.7651714810635896e-05
                ]
              },
              "warm_calls_per_second": 19716.714203380063
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002407460124231875,
              "warm": {
                "median_seconds": 0.00013311432499904185,
                "minimum_seconds": 0.00012518757983343676,
                "maximum_seconds": 0.00013944413483841345,
                "samples_seconds": [
                  0.00012518757983343676,
                  0.00013311432499904185,
                  0.00013488215976394712,
                  0.00013944413483841345,
                  0.00012634747981792315
                ]
              },
              "warm_calls_per_second": 7512.3394871829005
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00017280899919569492,
              "warm": {
                "median_seconds": 8.39708448620513e-05,
                "minimum_seconds": 8.165414998074993e-05,
                "maximum_seconds": 0.0007406543550314382,
                "samples_seconds": [
                  9.434573992621153e-05,
                  8.215507492423057e-05,
                  8.165414998074993e-05,
                  8.39708448620513e-05,
                  0.0007406543550314382
                ]
              },
              "warm_calls_per_second": 11908.895303397467
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0005004149861633778,
              "warm": {
                "median_seconds": 0.00023607286013429984,
                "minimum_seconds": 0.00023141055513406172,
                "maximum_seconds": 0.0003648302800138481,
                "samples_seconds": [
                  0.0003648302800138481,
                  0.000309680794889573,
                  0.00023153529997216538,
                  0.00023607286013429984,
                  0.00023141055513406172
                ]
              },
              "warm_calls_per_second": 4235.980363990628
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 254222336,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.877370414964389
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 17,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.08586907596327364,
          "minimum_seconds": 0.057316277001518756,
          "maximum_seconds": 0.10413946799235418,
          "samples_seconds": [
            0.08586907596327364,
            0.057316277001518756,
            0.10308343998622149,
            0.07300509896595031,
            0.10413946799235418
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.021593593002762645,
          "minimum_seconds": 0.013902406033594161,
          "maximum_seconds": 0.11234410997712985,
          "samples_seconds": [
            0.11234410997712985,
            0.013902406033594161,
            0.021593593002762645,
            0.016799510980490595,
            0.022910027008038014
          ]
        },
        "backend_setup_seconds": 1.535421665001195,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011384300887584686,
              "warm": {
                "median_seconds": 4.877131490502507e-05,
                "minimum_seconds": 4.475441994145512e-05,
                "maximum_seconds": 4.939537000609562e-05,
                "samples_seconds": [
                  4.893228498985991e-05,
                  4.939537000609562e-05,
                  4.839532484766096e-05,
                  4.877131490502507e-05,
                  4.475441994145512e-05
                ]
              },
              "warm_calls_per_second": 20503.855636194192
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00027434900403022766,
              "warm": {
                "median_seconds": 0.00011942101496970281,
                "minimum_seconds": 0.00011689082981320098,
                "maximum_seconds": 0.0001311174500733614,
                "samples_seconds": [
                  0.0001311174500733614,
                  0.00011915904993657022,
                  0.00011689082981320098,
                  0.00012944696500198915,
                  0.00011942101496970281
                ]
              },
              "warm_calls_per_second": 8373.735562821172
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001351750106550753,
              "warm": {
                "median_seconds": 7.912306988146156e-05,
                "minimum_seconds": 7.877656491473318e-05,
                "maximum_seconds": 8.116653509205208e-05,
                "samples_seconds": [
                  8.116653509205208e-05,
                  7.912306988146156e-05,
                  7.9310834989883e-05,
                  7.877656491473318e-05,
                  7.88378098513931e-05
                ]
              },
              "warm_calls_per_second": 12638.538943169833
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003734600031748414,
              "warm": {
                "median_seconds": 0.00023580351495184005,
                "minimum_seconds": 0.0002336616098182276,
                "maximum_seconds": 0.0002373778450419195,
                "samples_seconds": [
                  0.00023372753523290157,
                  0.0002336616098182276,
                  0.00023580351495184005,
                  0.0002373778450419195,
                  0.00023656666016904637
                ]
              },
              "warm_calls_per_second": 4240.818887726239
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 262955008,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.940677529957611
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 18,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.08346385299228132,
          "minimum_seconds": 0.06371884199324995,
          "maximum_seconds": 0.10090009198756889,
          "samples_seconds": [
            0.09872126596746966,
            0.06988490500953048,
            0.10090009198756889,
            0.08346385299228132,
            0.06371884199324995
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0070616599987261,
          "minimum_seconds": 0.005230128997936845,
          "maximum_seconds": 0.10192850400926545,
          "samples_seconds": [
            0.10192850400926545,
            0.005395657964982092,
            0.0070616599987261,
            0.0071238509844988585,
            0.005230128997936845
          ]
        },
        "backend_setup_seconds": 5.545897874981165e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 6.916897837072611e-05,
              "warm": {
                "median_seconds": 2.642225503223017e-05,
                "minimum_seconds": 2.4436749808955936e-05,
                "maximum_seconds": 3.2929989974945786e-05,
                "samples_seconds": [
                  2.5522905052639543e-05,
                  2.684298000531271e-05,
                  2.4436749808955936e-05,
                  2.642225503223017e-05,
                  3.2929989974945786e-05
                ]
              },
              "warm_calls_per_second": 37846.88319676684
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015938899014145136,
              "warm": {
                "median_seconds": 8.786235994193703e-05,
                "minimum_seconds": 8.643263019621372e-05,
                "maximum_seconds": 9.10429799114354e-05,
                "samples_seconds": [
                  9.10429799114354e-05,
                  8.786235994193703e-05,
                  8.652694494230673e-05,
                  8.643263019621372e-05,
                  8.799700503004714e-05
                ]
              },
              "warm_calls_per_second": 11381.437974814698
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 8.911796612665057e-05,
              "warm": {
                "median_seconds": 6.107582477852702e-05,
                "minimum_seconds": 6.082946987589821e-05,
                "maximum_seconds": 6.456366507336498e-05,
                "samples_seconds": [
                  6.456366507336498e-05,
                  6.222323514521122e-05,
                  6.107582477852702e-05,
                  6.106818502303213e-05,
                  6.082946987589821e-05
                ]
              },
              "warm_calls_per_second": 16373.09039421403
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 67489792,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.1642805750016123
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 19,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.06558736599981785,
          "minimum_seconds": 0.05516287399223074,
          "maximum_seconds": 0.10035453899763525,
          "samples_seconds": [
            0.08587946998886764,
            0.06558736599981785,
            0.05516287399223074,
            0.10035453899763525,
            0.06267614802345634
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005584042984992266,
          "minimum_seconds": 0.004896919010207057,
          "maximum_seconds": 0.012728354020509869,
          "samples_seconds": [
            0.012728354020509869,
            0.0051300019840709865,
            0.004896919010207057,
            0.0071366400225088,
            0.005584042984992266
          ]
        },
        "backend_setup_seconds": 0.07236736896447837,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.04929474927485e-05,
              "warm": {
                "median_seconds": 2.8158469940535725e-05,
                "minimum_seconds": 2.359531994443387e-05,
                "maximum_seconds": 3.421087021706626e-05,
                "samples_seconds": [
                  3.421087021706626e-05,
                  3.0251124990172684e-05,
                  2.7594784914981573e-05,
                  2.8158469940535725e-05,
                  2.359531994443387e-05
                ]
              },
              "warm_calls_per_second": 35513.29323332455
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.000157834030687809,
              "warm": {
                "median_seconds": 0.00010381829488324002,
                "minimum_seconds": 0.00010343996487790718,
                "maximum_seconds": 0.00011583632498513907,
                "samples_seconds": [
                  0.00010596311010885984,
                  0.00010381829488324002,
                  0.00010343996487790718,
                  0.00010369613475631923,
                  0.00011583632498513907
                ]
              },
              "warm_calls_per_second": 9632.213677990541
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012076302664354444,
              "warm": {
                "median_seconds": 7.732006488367916e-05,
                "minimum_seconds": 7.707390002906323e-05,
                "maximum_seconds": 7.901179982582107e-05,
                "samples_seconds": [
                  7.834817020921036e-05,
                  7.732006488367916e-05,
                  7.707390002906323e-05,
                  7.720566994976253e-05,
                  7.901179982582107e-05
                ]
              },
              "warm_calls_per_second": 12933.253502883203
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 63987712,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.1058844570070505
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 20,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.0655535199912265,
          "minimum_seconds": 0.053976698021870106,
          "maximum_seconds": 0.09958838199963793,
          "samples_seconds": [
            0.08517433499218896,
            0.06533033802406862,
            0.053976698021870106,
            0.09958838199963793,
            0.0655535199912265
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.00517245102673769,
          "minimum_seconds": 0.004948010027874261,
          "maximum_seconds": 0.012664918031077832,
          "samples_seconds": [
            0.012664918031077832,
            0.004948010027874261,
            0.004951886949129403,
            0.009213312005158514,
            0.00517245102673769
          ]
        },
        "backend_setup_seconds": 0.6057950090034865,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17032009101239964,
              "first_evaluation_seconds": 0.0017454850021749735,
              "warm": {
                "median_seconds": 2.8467650117818266e-05,
                "minimum_seconds": 2.7564594929572195e-05,
                "maximum_seconds": 3.3873300126288086e-05,
                "samples_seconds": [
                  3.3873300126288086e-05,
                  3.027445520274341e-05,
                  2.8467650117818266e-05,
                  2.7751844900194556e-05,
                  2.7564594929572195e-05
                ]
              },
              "warm_calls_per_second": 35127.59205137509
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18048254097811878,
              "first_evaluation_seconds": 0.0007003939826972783,
              "warm": {
                "median_seconds": 2.86852999124676e-05,
                "minimum_seconds": 2.6744255155790597e-05,
                "maximum_seconds": 3.3791534951888026e-05,
                "samples_seconds": [
                  3.3791534951888026e-05,
                  3.0310479924082757e-05,
                  2.86852999124676e-05,
                  2.6980935072060674e-05,
                  2.6744255155790597e-05
                ]
              },
              "warm_calls_per_second": 34861.06134680385
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1519255990278907,
              "first_evaluation_seconds": 0.0006656809709966183,
              "warm": {
                "median_seconds": 2.7827720041386785e-05,
                "minimum_seconds": 2.7268010016996412e-05,
                "maximum_seconds": 3.28618151252158e-05,
                "samples_seconds": [
                  3.28618151252158e-05,
                  2.9991389892529698e-05,
                  2.7268010016996412e-05,
                  2.7779189986176787e-05,
                  2.7827720041386785e-05
                ]
              },
              "warm_calls_per_second": 35935.390988293315
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 268361728,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.880684514995664
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 21,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.08188920101383701,
          "minimum_seconds": 0.059284228016622365,
          "maximum_seconds": 0.09767628100235015,
          "samples_seconds": [
            0.08573945402167737,
            0.06287400698056445,
            0.09767628100235015,
            0.08188920101383701,
            0.059284228016622365
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0064140239846892655,
          "minimum_seconds": 0.005058009002823383,
          "maximum_seconds": 0.10103676602011546,
          "samples_seconds": [
            0.10103676602011546,
            0.005218773963861167,
            0.007081463001668453,
            0.0064140239846892655,
            0.005058009002823383
          ]
        },
        "backend_setup_seconds": 0.68441776803229,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17892410402419046,
              "first_evaluation_seconds": 0.0018595349974930286,
              "warm": {
                "median_seconds": 3.070054488489404e-05,
                "minimum_seconds": 2.9257025162223726e-05,
                "maximum_seconds": 3.835759009234607e-05,
                "samples_seconds": [
                  3.835759009234607e-05,
                  3.3843284763861445e-05,
                  3.070054488489404e-05,
                  3.0070515058469028e-05,
                  2.9257025162223726e-05
                ]
              },
              "warm_calls_per_second": 32572.711779198486
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1732301309821196,
              "first_evaluation_seconds": 0.0006784439901821315,
              "warm": {
                "median_seconds": 2.833277016179636e-05,
                "minimum_seconds": 2.7267709956504405e-05,
                "maximum_seconds": 3.288724488811567e-05,
                "samples_seconds": [
                  3.288724488811567e-05,
                  2.9066455026622863e-05,
                  2.7784344856627284e-05,
                  2.7267709956504405e-05,
                  2.833277016179636e-05
                ]
              },
              "warm_calls_per_second": 35294.8191895613
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14210115000605583,
              "first_evaluation_seconds": 0.0006222070078365505,
              "warm": {
                "median_seconds": 2.7319150103721767e-05,
                "minimum_seconds": 2.720351505558938e-05,
                "maximum_seconds": 3.0299440259113907e-05,
                "samples_seconds": [
                  3.0299440259113907e-05,
                  2.720351505558938e-05,
                  2.7975795092061162e-05,
                  2.7285455144010484e-05,
                  2.7319150103721767e-05
                ]
              },
              "warm_calls_per_second": 36604.35980633845
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 272322560,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.004008024989162
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "timing",
      "order": 22,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.07495056302286685,
          "minimum_seconds": 0.055173572967760265,
          "maximum_seconds": 0.09218869300093502,
          "samples_seconds": [
            0.08718761603813618,
            0.05981090397108346,
            0.09218869300093502,
            0.07495056302286685,
            0.055173572967760265
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005346187041141093,
          "minimum_seconds": 0.004955590004101396,
          "maximum_seconds": 0.09679987299023196,
          "samples_seconds": [
            0.09679987299023196,
            0.004955590004101396,
            0.006949472997803241,
            0.005346187041141093,
            0.004969014960806817
          ]
        },
        "backend_setup_seconds": 1.4265592320007272,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012962601613253355,
              "warm": {
                "median_seconds": 4.3863895116373896e-05,
                "minimum_seconds": 3.686760988784954e-05,
                "maximum_seconds": 5.6746554910205305e-05,
                "samples_seconds": [
                  5.6746554910205305e-05,
                  5.0529055006336424e-05,
                  4.3863895116373896e-05,
                  3.860963479382917e-05,
                  3.686760988784954e-05
                ]
              },
              "warm_calls_per_second": 22797.79297636318
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00020696001593023539,
              "warm": {
                "median_seconds": 0.00012620283989235758,
                "minimum_seconds": 0.00012165160005679354,
                "maximum_seconds": 0.0001286929749767296,
                "samples_seconds": [
                  0.00012772323010722174,
                  0.00012363919493509456,
                  0.00012165160005679354,
                  0.00012620283989235758,
                  0.0001286929749767296
                ]
              },
              "warm_calls_per_second": 7923.751960359465
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001435079611837864,
              "warm": {
                "median_seconds": 8.324870519572869e-05,
                "minimum_seconds": 8.266638498753309e-05,
                "maximum_seconds": 8.529075013939291e-05,
                "samples_seconds": [
                  8.34028550889343e-05,
                  8.324870519572869e-05,
                  8.266638498753309e-05,
                  8.529075013939291e-05,
                  8.314982493175194e-05
                ]
              },
              "warm_calls_per_second": 12012.19884019659
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 261771264,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.5144791249767877
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "timing",
      "order": 23,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.06369754095794633,
          "minimum_seconds": 0.0551860979758203,
          "maximum_seconds": 0.09866348694777116,
          "samples_seconds": [
            0.08758650196250528,
            0.06369754095794633,
            0.0551860979758203,
            0.09866348694777116,
            0.06359845597762614
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005338744958862662,
          "minimum_seconds": 0.004863367008510977,
          "maximum_seconds": 0.012539768998976797,
          "samples_seconds": [
            0.012539768998976797,
            0.004972409049514681,
            0.004863367008510977,
            0.006839785957708955,
            0.005338744958862662
          ]
        },
        "backend_setup_seconds": 1.4440118860220537,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012757099466398358,
              "warm": {
                "median_seconds": 4.2887624877039345e-05,
                "minimum_seconds": 3.702436515595764e-05,
                "maximum_seconds": 5.6569919979665426e-05,
                "samples_seconds": [
                  5.6569919979665426e-05,
                  5.04897499922663e-05,
                  4.2887624877039345e-05,
                  3.702436515595764e-05,
                  3.905144985765219e-05
                ]
              },
              "warm_calls_per_second": 23316.7493622471
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00022281496785581112,
              "warm": {
                "median_seconds": 0.00012147389526944607,
                "minimum_seconds": 0.00011993546504527331,
                "maximum_seconds": 0.00013261682994198054,
                "samples_seconds": [
                  0.00012535077519714832,
                  0.00012147389526944607,
                  0.00013261682994198054,
                  0.00011993546504527331,
                  0.00012017066997941583
                ]
              },
              "warm_calls_per_second": 8232.221398530608
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016441295156255364,
              "warm": {
                "median_seconds": 8.284708019345999e-05,
                "minimum_seconds": 8.188837498892099e-05,
                "maximum_seconds": 8.356255013495683e-05,
                "samples_seconds": [
                  8.356255013495683e-05,
                  8.280229492811486e-05,
                  8.284708019345999e-05,
                  8.188837498892099e-05,
                  8.336068014614284e-05
                ]
              },
              "warm_calls_per_second": 12070.43142214372
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 253157376,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.3487465450307354
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 24,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.07636004697997123,
          "minimum_seconds": 0.05641975300386548,
          "maximum_seconds": 0.09211627201875672,
          "samples_seconds": [
            0.08099933702033013,
            0.05911966797430068,
            0.09211627201875672,
            0.07636004697997123,
            0.05641975300386548
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005539359000977129,
          "minimum_seconds": 0.0049127909587696195,
          "maximum_seconds": 0.09591535001527518,
          "samples_seconds": [
            0.09591535001527518,
            0.0049127909587696195,
            0.006930790957994759,
            0.005539359000977129,
            0.005062122014351189
          ]
        },
        "backend_setup_seconds": 1.4471234499942511,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012736202916130424,
              "warm": {
                "median_seconds": 4.477064008824527e-05,
                "minimum_seconds": 3.57282449840568e-05,
                "maximum_seconds": 5.8483225002419205e-05,
                "samples_seconds": [
                  5.8483225002419205e-05,
                  5.092826526379213e-05,
                  4.477064008824527e-05,
                  3.67622499470599e-05,
                  3.57282449840568e-05
                ]
              },
              "warm_calls_per_second": 22336.06662824002
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001994339982047677,
              "warm": {
                "median_seconds": 0.00012180036021163686,
                "minimum_seconds": 0.00012021460017422214,
                "maximum_seconds": 0.00012640860979445278,
                "samples_seconds": [
                  0.00012640860979445278,
                  0.00012170188478194177,
                  0.00012021460017422214,
                  0.0001245520799420774,
                  0.00012180036021163686
                ]
              },
              "warm_calls_per_second": 8210.156343236
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00017164996825158596,
              "warm": {
                "median_seconds": 8.209077001083642e-05,
                "minimum_seconds": 8.175464521627874e-05,
                "maximum_seconds": 8.361161511857063e-05,
                "samples_seconds": [
                  8.361161511857063e-05,
                  8.175464521627874e-05,
                  8.19384100032039e-05,
                  8.209077001083642e-05,
                  8.209970983443781e-05
                ]
              },
              "warm_calls_per_second": 12181.63747115534
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 261652480,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.4174967639846727
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 25,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.07177047996083274,
          "minimum_seconds": 0.055138831958174706,
          "maximum_seconds": 0.10371929500252008,
          "samples_seconds": [
            0.09247684595175087,
            0.07146431901492178,
            0.055138831958174706,
            0.10371929500252008,
            0.07177047996083274
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0058168499963358045,
          "minimum_seconds": 0.004756410024128854,
          "maximum_seconds": 0.013387395010795444,
          "samples_seconds": [
            0.013387395010795444,
            0.005435807048343122,
            0.004756410024128854,
            0.007195947982836515,
            0.0058168499963358045
          ]
        },
        "backend_setup_seconds": 1.4707015290041454,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001358249573968351,
              "warm": {
                "median_seconds": 4.416884999955073e-05,
                "minimum_seconds": 3.6053920048289e-05,
                "maximum_seconds": 5.552573507884517e-05,
                "samples_seconds": [
                  5.552573507884517e-05,
                  5.074204003904015e-05,
                  4.416884999955073e-05,
                  3.768035501707345e-05,
                  3.6053920048289e-05
                ]
              },
              "warm_calls_per_second": 22640.390229996294
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002167090424336493,
              "warm": {
                "median_seconds": 0.00012854097003582864,
                "minimum_seconds": 0.00012228933977894484,
                "maximum_seconds": 0.00013568046502768994,
                "samples_seconds": [
                  0.00012471347494283691,
                  0.00012228933977894484,
                  0.00013568046502768994,
                  0.00012959621497429907,
                  0.00012854097003582864
                ]
              },
              "warm_calls_per_second": 7779.6207677697375
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016865303041413426,
              "warm": {
                "median_seconds": 8.456727984594181e-05,
                "minimum_seconds": 8.241181523771957e-05,
                "maximum_seconds": 8.974880503956228e-05,
                "samples_seconds": [
                  8.974880503956228e-05,
                  8.697015000507236e-05,
                  8.456727984594181e-05,
                  8.304771996336058e-05,
                  8.241181523771957e-05
                ]
              },
              "warm_calls_per_second": 11824.904405364858
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 253087744,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.409507678996306
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 26,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.06692394497804344,
          "minimum_seconds": 0.05504580697743222,
          "maximum_seconds": 0.10106215998530388,
          "samples_seconds": [
            0.08513106999453157,
            0.06692394497804344,
            0.05504580697743222,
            0.10106215998530388,
            0.06436241400660947
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005153172998689115,
          "minimum_seconds": 0.004859678039792925,
          "maximum_seconds": 0.01306389702949673,
          "samples_seconds": [
            0.01306389702949673,
            0.005008893029298633,
            0.004859678039792925,
            0.0073451780481263995,
            0.005153172998689115
          ]
        },
        "backend_setup_seconds": 0.6087793129845522,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.16504668298875913,
              "first_evaluation_seconds": 0.0015860950225032866,
              "warm": {
                "median_seconds": 2.785944001516327e-05,
                "minimum_seconds": 2.7700935024768114e-05,
                "maximum_seconds": 3.0438789981417358e-05,
                "samples_seconds": [
                  3.0438789981417358e-05,
                  2.802532515488565e-05,
                  2.785944001516327e-05,
                  2.7700935024768114e-05,
                  2.778512513032183e-05
                ]
              },
              "warm_calls_per_second": 35894.47596418745
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17453943198779598,
              "first_evaluation_seconds": 0.0006893349927850068,
              "warm": {
                "median_seconds": 2.7489555068314077e-05,
                "minimum_seconds": 2.7005260053556414e-05,
                "maximum_seconds": 3.373459476279095e-05,
                "samples_seconds": [
                  3.373459476279095e-05,
                  3.0187569791451097e-05,
                  2.7489555068314077e-05,
                  2.7260915085207672e-05,
                  2.7005260053556414e-05
                ]
              },
              "warm_calls_per_second": 36377.45309136171
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14134011999703944,
              "first_evaluation_seconds": 0.000628292968031019,
              "warm": {
                "median_seconds": 2.711463486775756e-05,
                "minimum_seconds": 2.6581739948596805e-05,
                "maximum_seconds": 3.046816505957395e-05,
                "samples_seconds": [
                  3.046816505957395e-05,
                  2.7195909933652728e-05,
                  2.711463486775756e-05,
                  2.6949445018544793e-05,
                  2.6581739948596805e-05
                ]
              },
              "warm_calls_per_second": 36880.4523784724
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 266870784,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.756978333985899
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 27,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.09373573097400367,
          "minimum_seconds": 0.06739110103808343,
          "maximum_seconds": 0.10731732699787244,
          "samples_seconds": [
            0.09373573097400367,
            0.06739110103808343,
            0.10731732699787244,
            0.09696248098043725,
            0.06936626002425328
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0077707250020466745,
          "minimum_seconds": 0.005312427994795144,
          "maximum_seconds": 0.10327525297179818,
          "samples_seconds": [
            0.10327525297179818,
            0.005312427994795144,
            0.00804729200899601,
            0.0077707250020466745,
            0.005336347036063671
          ]
        },
        "backend_setup_seconds": 0.7643374429899268,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1888612200273201,
              "first_evaluation_seconds": 0.001986847026273608,
              "warm": {
                "median_seconds": 3.904193989001215e-05,
                "minimum_seconds": 3.1804899917915465e-05,
                "maximum_seconds": 4.3036174902226775e-05,
                "samples_seconds": [
                  4.3036174902226775e-05,
                  4.029802512377501e-05,
                  3.904193989001215e-05,
                  3.426475479500368e-05,
                  3.1804899917915465e-05
                ]
              },
              "warm_calls_per_second": 25613.48136944967
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.29056231502909213,
              "first_evaluation_seconds": 0.0007630879990756512,
              "warm": {
                "median_seconds": 4.409471992403269e-05,
                "minimum_seconds": 4.294873011531308e-05,
                "maximum_seconds": 5.67073401180096e-05,
                "samples_seconds": [
                  4.294873011531308e-05,
                  5.554364004638046e-05,
                  5.67073401180096e-05,
                  4.380881000543013e-05,
                  4.409471992403269e-05
                ]
              },
              "warm_calls_per_second": 22678.452243779324
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18952944199554622,
              "first_evaluation_seconds": 0.0007342359749600291,
              "warm": {
                "median_seconds": 3.9807294961065054e-05,
                "minimum_seconds": 3.087868011789397e-05,
                "maximum_seconds": 4.6620994980912654e-05,
                "samples_seconds": [
                  4.6620994980912654e-05,
                  3.9807294961065054e-05,
                  4.212880012346432e-05,
                  3.391220496268943e-05,
                  3.087868011789397e-05
                ]
              },
              "warm_calls_per_second": 25121.023696236723
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 272285696,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.432589758012909
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 28,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.0929066920070909,
          "minimum_seconds": 0.0766005149926059,
          "maximum_seconds": 0.12834583601215854,
          "samples_seconds": [
            0.12834583601215854,
            0.08546749304514378,
            0.12777338601881638,
            0.0929066920070909,
            0.0766005149926059
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008067569055128843,
          "minimum_seconds": 0.005810225964523852,
          "maximum_seconds": 0.11158464796608314,
          "samples_seconds": [
            0.11158464796608314,
            0.006324826972559094,
            0.008890378987416625,
            0.008067569055128843,
            0.005810225964523852
          ]
        },
        "backend_setup_seconds": 6.31689908914268e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 7.592601468786597e-05,
              "warm": {
                "median_seconds": 2.6165659946855157e-05,
                "minimum_seconds": 2.5806695048231633e-05,
                "maximum_seconds": 2.8459224849939347e-05,
                "samples_seconds": [
                  2.8459224849939347e-05,
                  2.6165659946855157e-05,
                  2.5806695048231633e-05,
                  2.60561250615865e-05,
                  2.6297740114387124e-05
                ]
              },
              "warm_calls_per_second": 38218.030885943306
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001496130134910345,
              "warm": {
                "median_seconds": 9.724774514324963e-05,
                "minimum_seconds": 9.565371496137232e-05,
                "maximum_seconds": 0.00010317283507902176,
                "samples_seconds": [
                  9.906089020660147e-05,
                  9.565371496137232e-05,
                  9.724774514324963e-05,
                  0.00010317283507902176,
                  9.620563010685145e-05
                ]
              },
              "warm_calls_per_second": 10283.014773524692
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.803602006286383e-05,
              "warm": {
                "median_seconds": 7.209489500382915e-05,
                "minimum_seconds": 6.875661987578497e-05,
                "maximum_seconds": 7.347662496613338e-05,
                "samples_seconds": [
                  6.92170049296692e-05,
                  7.209489500382915e-05,
                  6.875661987578497e-05,
                  7.300657976884395e-05,
                  7.347662496613338e-05
                ]
              },
              "warm_calls_per_second": 13870.60761995544
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 67461120,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.354849581955932
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 29,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.12479627301217988,
          "minimum_seconds": 0.08798246004153043,
          "maximum_seconds": 0.15646556403953582,
          "samples_seconds": [
            0.13045485597103834,
            0.09034175099804997,
            0.08798246004153043,
            0.15646556403953582,
            0.12479627301217988
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.010849301004782319,
          "minimum_seconds": 0.007800722029060125,
          "maximum_seconds": 0.017844214977230877,
          "samples_seconds": [
            0.017844214977230877,
            0.007800722029060125,
            0.008062998007517308,
            0.011677226983010769,
            0.010849301004782319
          ]
        },
        "backend_setup_seconds": 0.11951302096713334,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00013238796964287758,
              "warm": {
                "median_seconds": 4.890156502369791e-05,
                "minimum_seconds": 3.822083992417902e-05,
                "maximum_seconds": 5.4266064835246653e-05,
                "samples_seconds": [
                  5.4266064835246653e-05,
                  5.2071175014134495e-05,
                  4.2754934984259304e-05,
                  4.890156502369791e-05,
                  3.822083992417902e-05
                ]
              },
              "warm_calls_per_second": 20449.24328117915
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00020559999393299222,
              "warm": {
                "median_seconds": 0.00013806757982820272,
                "minimum_seconds": 0.00011689074483001605,
                "maximum_seconds": 0.0001509668750804849,
                "samples_seconds": [
                  0.00013843691995134576,
                  0.00013806757982820272,
                  0.00011689074483001605,
                  0.00012304165487876163,
                  0.0001509668750804849
                ]
              },
              "warm_calls_per_second": 7242.82993331453
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002936149830929935,
              "warm": {
                "median_seconds": 0.00011619760509347543,
                "minimum_seconds": 0.00010711277020163833,
                "maximum_seconds": 0.00011878037999849766,
                "samples_seconds": [
                  0.00011433957493864,
                  0.00011619760509347543,
                  0.00011754655482945964,
                  0.00011878037999849766,
                  0.00010711277020163833
                ]
              },
              "warm_calls_per_second": 8606.029351427233
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 63950848,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.5962783330469392
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 30,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.07195828598923981,
          "minimum_seconds": 0.0560493579832837,
          "maximum_seconds": 0.10721510194707662,
          "samples_seconds": [
            0.10721510194707662,
            0.07195828598923981,
            0.0560493579832837,
            0.08717140799853951,
            0.06004749401472509
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02174575295066461,
          "minimum_seconds": 0.014246740960516036,
          "maximum_seconds": 0.06498968898085877,
          "samples_seconds": [
            0.028763248003087938,
            0.014246740960516036,
            0.06498968898085877,
            0.02174575295066461,
            0.015480141039006412
          ]
        },
        "backend_setup_seconds": 1.650006108044181,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015275797341018915,
              "warm": {
                "median_seconds": 6.0333164874464274e-05,
                "minimum_seconds": 5.068622005637735e-05,
                "maximum_seconds": 6.769923988031223e-05,
                "samples_seconds": [
                  6.0333164874464274e-05,
                  6.207765487488359e-05,
                  6.769923988031223e-05,
                  5.397605011239648e-05,
                  5.068622005637735e-05
                ]
              },
              "warm_calls_per_second": 16574.631913984762
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00038653897354379296,
              "warm": {
                "median_seconds": 0.00016483123501529918,
                "minimum_seconds": 0.00014299999485956505,
                "maximum_seconds": 0.00018804229504894464,
                "samples_seconds": [
                  0.00018804229504894464,
                  0.00014568337006494404,
                  0.0001698608699371107,
                  0.00016483123501529918,
                  0.00014299999485956505
                ]
              },
              "warm_calls_per_second": 6066.811304951897
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00018797098891809583,
              "warm": {
                "median_seconds": 0.00010340901499148459,
                "minimum_seconds": 9.53013400430791e-05,
                "maximum_seconds": 0.0009112269751494751,
                "samples_seconds": [
                  0.0001067375301499851,
                  9.895635012071579e-05,
                  0.00010340901499148459,
                  9.53013400430791e-05,
                  0.0009112269751494751
                ]
              },
              "warm_calls_per_second": 9670.336769790785
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0006531590479426086,
              "warm": {
                "median_seconds": 0.00033796099509345365,
                "minimum_seconds": 0.0003114810198894702,
                "maximum_seconds": 0.00052836949005723,
                "samples_seconds": [
                  0.00052836949005723,
                  0.00041190599004039543,
                  0.00033796099509345365,
                  0.00032582176994765176,
                  0.0003114810198894702
                ]
              },
              "warm_calls_per_second": 2958.921338610327
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 254263296,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.460043939994648
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 31,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.11923083401052281,
          "minimum_seconds": 0.09871970798121765,
          "maximum_seconds": 0.16409543104236946,
          "samples_seconds": [
            0.11923083401052281,
            0.09871970798121765,
            0.1333890709793195,
            0.10952691198326647,
            0.16409543104236946
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.03639807796571404,
          "minimum_seconds": 0.02431948500452563,
          "maximum_seconds": 0.14120405301218852,
          "samples_seconds": [
            0.14120405301218852,
            0.02431948500452563,
            0.03639807796571404,
            0.03664721600944176,
            0.027177781972568482
          ]
        },
        "backend_setup_seconds": 1.8596086269826628,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011170096695423126,
              "warm": {
                "median_seconds": 5.032830988056958e-05,
                "minimum_seconds": 4.133540001930669e-05,
                "maximum_seconds": 5.297608498949557e-05,
                "samples_seconds": [
                  5.297608498949557e-05,
                  5.032830988056958e-05,
                  5.127621494466439e-05,
                  4.891699005383998e-05,
                  4.133540001930669e-05
                ]
              },
              "warm_calls_per_second": 19869.532721703286
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002544440212659538,
              "warm": {
                "median_seconds": 0.00012716006487607955,
                "minimum_seconds": 0.0001253439098945819,
                "maximum_seconds": 0.00015788955497555434,
                "samples_seconds": [
                  0.00013944794511189685,
                  0.0001253439098945819,
                  0.00012664986017625778,
                  0.00015788955497555434,
                  0.00012716006487607955
                ]
              },
              "warm_calls_per_second": 7864.1041979219135
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015964900376275182,
              "warm": {
                "median_seconds": 8.851496502757073e-05,
                "minimum_seconds": 8.707431494258345e-05,
                "maximum_seconds": 9.18923001154326e-05,
                "samples_seconds": [
                  8.707431494258345e-05,
                  8.851496502757073e-05,
                  9.12148502538912e-05,
                  9.18923001154326e-05,
                  8.770165499299764e-05
                ]
              },
              "warm_calls_per_second": 11297.524657988839
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00039834599010646343,
              "warm": {
                "median_seconds": 0.0003326564549934119,
                "minimum_seconds": 0.00024680445494595915,
                "maximum_seconds": 0.0004128314051195048,
                "samples_seconds": [
                  0.00024680445494595915,
                  0.0003326564549934119,
                  0.0004128314051195048,
                  0.0002856840452295728,
                  0.0003434690699214116
                ]
              },
              "warm_calls_per_second": 3006.1043006659966
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 262852608,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.783718309015967
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 32,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.11489696300122887,
          "minimum_seconds": 0.07614783401368186,
          "maximum_seconds": 0.13235008501214907,
          "samples_seconds": [
            0.11489696300122887,
            0.07614783401368186,
            0.11609768698690459,
            0.09029577899491414,
            0.13235008501214907
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.024351866042707115,
          "minimum_seconds": 0.015063527971506119,
          "maximum_seconds": 0.1532981059863232,
          "samples_seconds": [
            0.1532981059863232,
            0.015063527971506119,
            0.02353433199459687,
            0.024351866042707115,
            0.024468490970321
          ]
        },
        "backend_setup_seconds": 0.8043474840233102,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.20253443002002314,
              "first_evaluation_seconds": 0.002092589042149484,
              "warm": {
                "median_seconds": 4.609030991559848e-05,
                "minimum_seconds": 4.3550560076255354e-05,
                "maximum_seconds": 5.4979514970909804e-05,
                "samples_seconds": [
                  5.4979514970909804e-05,
                  4.531415004748851e-05,
                  4.609030991559848e-05,
                  4.3550560076255354e-05,
                  4.7574395139236004e-05
                ]
              },
              "warm_calls_per_second": 21696.53451736863
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.22153085400350392,
              "first_evaluation_seconds": 0.001085016003344208,
              "warm": {
                "median_seconds": 4.675984993809834e-05,
                "minimum_seconds": 4.266509000444785e-05,
                "maximum_seconds": 4.785877506947145e-05,
                "samples_seconds": [
                  4.266509000444785e-05,
                  4.785877506947145e-05,
                  4.675984993809834e-05,
                  4.597697494318709e-05,
                  4.68738199560903e-05
                ]
              },
              "warm_calls_per_second": 21385.868460309877
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19237884698668495,
              "first_evaluation_seconds": 0.0007869029650464654,
              "warm": {
                "median_seconds": 5.8329970052000135e-05,
                "minimum_seconds": 4.584791488014162e-05,
                "maximum_seconds": 6.286249496042728e-05,
                "samples_seconds": [
                  4.584791488014162e-05,
                  5.347728001652286e-05,
                  5.8329970052000135e-05,
                  6.240790477022528e-05,
                  6.286249496042728e-05
                ]
              },
              "warm_calls_per_second": 17143.84559272905
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19979631301248446,
              "first_evaluation_seconds": 0.0007306560291908681,
              "warm": {
                "median_seconds": 4.901512496871874e-05,
                "minimum_seconds": 4.7470425197388974e-05,
                "maximum_seconds": 5.286801519105211e-05,
                "samples_seconds": [
                  5.286801519105211e-05,
                  4.8873804917093364e-05,
                  5.215978511841968e-05,
                  4.901512496871874e-05,
                  4.7470425197388974e-05
                ]
              },
              "warm_calls_per_second": 20401.865763643284
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 279838720,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 7.67545754800085
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 33,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.09231851401273161,
          "minimum_seconds": 0.08800406398950145,
          "maximum_seconds": 0.16209339001215994,
          "samples_seconds": [
            0.16209339001215994,
            0.11348173097940162,
            0.09231851401273161,
            0.08921335003105924,
            0.08800406398950145
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02842281199991703,
          "minimum_seconds": 0.024228452006354928,
          "maximum_seconds": 0.0629062500083819,
          "samples_seconds": [
            0.04702461004490033,
            0.024228452006354928,
            0.0629062500083819,
            0.02842281199991703,
            0.027317084022797644
          ]
        },
        "backend_setup_seconds": 0.7542886040173471,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19734519603662193,
              "first_evaluation_seconds": 0.0020963840070180595,
              "warm": {
                "median_seconds": 4.493009008001536e-05,
                "minimum_seconds": 4.354306001914665e-05,
                "maximum_seconds": 4.670390975661576e-05,
                "samples_seconds": [
                  4.493009008001536e-05,
                  4.416338982991874e-05,
                  4.670390975661576e-05,
                  4.567181516904384e-05,
                  4.354306001914665e-05
                ]
              },
              "warm_calls_per_second": 22256.799356936837
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18785444198874757,
              "first_evaluation_seconds": 0.0007975510088726878,
              "warm": {
                "median_seconds": 4.364258493296802e-05,
                "minimum_seconds": 4.2192490072920916e-05,
                "maximum_seconds": 4.582191497320309e-05,
                "samples_seconds": [
                  4.2192490072920916e-05,
                  4.582191497320309e-05,
                  4.364258493296802e-05,
                  4.389478010125458e-05,
                  4.3134719890076665e-05
                ]
              },
              "warm_calls_per_second": 22913.399871614627
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.218313789984677,
              "first_evaluation_seconds": 0.0010310639627277851,
              "warm": {
                "median_seconds": 5.262824997771531e-05,
                "minimum_seconds": 4.732686502393335e-05,
                "maximum_seconds": 6.580279499758034e-05,
                "samples_seconds": [
                  5.670101993018761e-05,
                  6.580279499758034e-05,
                  5.262824997771531e-05,
                  4.732686502393335e-05,
                  5.19505501142703e-05
                ]
              },
              "warm_calls_per_second": 19001.201834061285
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1969066410092637,
              "first_evaluation_seconds": 0.0008312260033562779,
              "warm": {
                "median_seconds": 4.778787493705749e-05,
                "minimum_seconds": 4.236463020788506e-05,
                "maximum_seconds": 5.084080010419712e-05,
                "samples_seconds": [
                  4.236463020788506e-05,
                  4.8207700019702314e-05,
                  5.084080010419712e-05,
                  4.778787493705749e-05,
                  4.5425209973473104e-05
                ]
              },
              "warm_calls_per_second": 20925.81018338068
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 274477056,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 7.270376353990287
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 34,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.06902696198085323,
          "minimum_seconds": 0.05269585899077356,
          "maximum_seconds": 0.09207790100481361,
          "samples_seconds": [
            0.09207790100481361,
            0.06902696198085323,
            0.05269585899077356,
            0.08101076597813517,
            0.06528914801310748
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02070113201625645,
          "minimum_seconds": 0.01439879700774327,
          "maximum_seconds": 0.05209698504768312,
          "samples_seconds": [
            0.0278751109726727,
            0.01439879700774327,
            0.05209698504768312,
            0.02070113201625645,
            0.014848475984763354
          ]
        },
        "backend_setup_seconds": 0.08250282902736217,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 7.492699660360813e-05,
              "warm": {
                "median_seconds": 2.935285505373031e-05,
                "minimum_seconds": 2.475164510542527e-05,
                "maximum_seconds": 3.140471497317776e-05,
                "samples_seconds": [
                  3.140471497317776e-05,
                  3.106922493316233e-05,
                  2.935285505373031e-05,
                  2.7359355008229614e-05,
                  2.475164510542527e-05
                ]
              },
              "warm_calls_per_second": 34068.23623015557
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00021840701811015606,
              "warm": {
                "median_seconds": 0.00010075889003928751,
                "minimum_seconds": 9.97214749804698e-05,
                "maximum_seconds": 0.00011566459492314608,
                "samples_seconds": [
                  0.00011566459492314608,
                  0.00010203492507571355,
                  9.97214749804698e-05,
                  0.00010075889003928751,
                  0.00010034133010776714
                ]
              },
              "warm_calls_per_second": 9924.682572526195
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001044590026140213,
              "warm": {
                "median_seconds": 7.532654504757374e-05,
                "minimum_seconds": 7.24605648429133e-05,
                "maximum_seconds": 8.253856998635456e-05,
                "samples_seconds": [
                  7.713182509178296e-05,
                  7.532654504757374e-05,
                  8.253856998635456e-05,
                  7.44641650817357e-05,
                  7.24605648429133e-05
                ]
              },
              "warm_calls_per_second": 13275.532541263286
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0010528030106797814,
              "warm": {
                "median_seconds": 0.0012751434050733224,
                "minimum_seconds": 0.0009755560249323026,
                "maximum_seconds": 0.0016335614598938263,
                "samples_seconds": [
                  0.0009755560249323026,
                  0.000992315689800307,
                  0.001283315104956273,
                  0.0016335614598938263,
                  0.0012751434050733224
                ]
              },
              "warm_calls_per_second": 784.2255200641521
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 64368640,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 2.521817942033522
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 35,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.12635105900699273,
          "minimum_seconds": 0.07873871002811939,
          "maximum_seconds": 0.15438859700225294,
          "samples_seconds": [
            0.13136091898195446,
            0.07873871002811939,
            0.12635105900699273,
            0.09548611496575177,
            0.15438859700225294
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.025692338997032493,
          "minimum_seconds": 0.016004196018911898,
          "maximum_seconds": 0.13272107602097094,
          "samples_seconds": [
            0.13272107602097094,
            0.016004196018911898,
            0.03201894898666069,
            0.02532364201033488,
            0.025692338997032493
          ]
        },
        "backend_setup_seconds": 7.712299702689052e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.823701111599803e-05,
              "warm": {
                "median_seconds": 3.497478493954986e-05,
                "minimum_seconds": 3.4421099990140646e-05,
                "maximum_seconds": 3.855655988445506e-05,
                "samples_seconds": [
                  3.443912486545742e-05,
                  3.617440001107752e-05,
                  3.497478493954986e-05,
                  3.855655988445506e-05,
                  3.4421099990140646e-05
                ]
              },
              "warm_calls_per_second": 28592.027134073647
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002565879840403795,
              "warm": {
                "median_seconds": 0.00014468974026385695,
                "minimum_seconds": 9.914446476614103e-05,
                "maximum_seconds": 0.00016569684026762843,
                "samples_seconds": [
                  0.00015793147002113984,
                  0.00016569684026762843,
                  0.00014468974026385695,
                  0.00010730774520197883,
                  9.914446476614103e-05
                ]
              },
              "warm_calls_per_second": 6911.340072740437
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001064449897967279,
              "warm": {
                "median_seconds": 6.52177698793821e-05,
                "minimum_seconds": 6.39542649150826e-05,
                "maximum_seconds": 7.001974998274818e-05,
                "samples_seconds": [
                  6.52177698793821e-05,
                  6.400796992238611e-05,
                  7.001974998274818e-05,
                  6.856003019493074e-05,
                  6.39542649150826e-05
                ]
              },
              "warm_calls_per_second": 15333.244326653054
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0008310899720527232,
              "warm": {
                "median_seconds": 0.0010238649050006642,
                "minimum_seconds": 0.0008955196500755846,
                "maximum_seconds": 0.001143448094953783,
                "samples_seconds": [
                  0.0008955196500755846,
                  0.0009317085848306306,
                  0.001143448094953783,
                  0.001079132294980809,
                  0.0010238649050006642
                ]
              },
              "warm_calls_per_second": 976.6913536306347
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 68845568,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 2.6976623670198023
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 36,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006958110025152564,
          "minimum_seconds": 0.005714184022508562,
          "maximum_seconds": 0.008018749009352177,
          "samples_seconds": [
            0.006958110025152564,
            0.007870219997130334,
            0.008018749009352177,
            0.006216832029167563,
            0.005714184022508562
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005400572961661965,
          "minimum_seconds": 0.004549662000499666,
          "maximum_seconds": 0.10590527101885527,
          "samples_seconds": [
            0.10590527101885527,
            0.005963618983514607,
            0.005400572961661965,
            0.004549662000499666,
            0.004790131992194802
          ]
        },
        "backend_setup_seconds": 1.756193897977937,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001257890253327787,
              "warm": {
                "median_seconds": 5.845177511218935e-05,
                "minimum_seconds": 5.657838482875377e-05,
                "maximum_seconds": 6.0433385078795256e-05,
                "samples_seconds": [
                  5.845177511218935e-05,
                  5.7319210027344526e-05,
                  5.85411800420843e-05,
                  6.0433385078795256e-05,
                  5.657838482875377e-05
                ]
              },
              "warm_calls_per_second": 17108.12029370624
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00040808203630149364,
              "warm": {
                "median_seconds": 0.00014660832996014507,
                "minimum_seconds": 0.00012545593024697156,
                "maximum_seconds": 0.0002010442249593325,
                "samples_seconds": [
                  0.0002010442249593325,
                  0.00015790346515132114,
                  0.00014660832996014507,
                  0.00013874138006940483,
                  0.00012545593024697156
                ]
              },
              "warm_calls_per_second": 6820.8948309543275
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016488495748490095,
              "warm": {
                "median_seconds": 8.744026505155489e-05,
                "minimum_seconds": 8.619899483164773e-05,
                "maximum_seconds": 9.451267484109848e-05,
                "samples_seconds": [
                  8.774262998485938e-05,
                  8.744026505155489e-05,
                  8.694533491507172e-05,
                  8.619899483164773e-05,
                  9.451267484109848e-05
                ]
              },
              "warm_calls_per_second": 11436.378874313783
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 258404352,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.580373356002383
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 37,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.00804766098735854,
          "minimum_seconds": 0.006109937967266887,
          "maximum_seconds": 0.009788858995307237,
          "samples_seconds": [
            0.009714051964692771,
            0.00804766098735854,
            0.009788858995307237,
            0.006109937967266887,
            0.008043992973398417
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0068654019851237535,
          "minimum_seconds": 0.005324764992110431,
          "maximum_seconds": 0.017660917015746236,
          "samples_seconds": [
            0.017660917015746236,
            0.0068654019851237535,
            0.005324764992110431,
            0.006580332003068179,
            0.00715928798308596
          ]
        },
        "backend_setup_seconds": 1.9296636679791845,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002117239637300372,
              "warm": {
                "median_seconds": 9.597736498108133e-05,
                "minimum_seconds": 7.054208021145314e-05,
                "maximum_seconds": 9.878659999230877e-05,
                "samples_seconds": [
                  8.937809994677081e-05,
                  7.054208021145314e-05,
                  9.754674014402554e-05,
                  9.597736498108133e-05,
                  9.878659999230877e-05
                ]
              },
              "warm_calls_per_second": 10419.123302636157
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0007041249773465097,
              "warm": {
                "median_seconds": 0.00020062329509528353,
                "minimum_seconds": 0.00016155603516381233,
                "maximum_seconds": 0.0002908498398028314,
                "samples_seconds": [
                  0.0002908498398028314,
                  0.00020062329509528353,
                  0.0002092668751720339,
                  0.00017462951509514824,
                  0.00016155603516381233
                ]
              },
              "warm_calls_per_second": 4984.466033842493
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001775330165401101,
              "warm": {
                "median_seconds": 0.00010622367495670915,
                "minimum_seconds": 0.00010352026525652036,
                "maximum_seconds": 0.00011992394487606362,
                "samples_seconds": [
                  0.00010352026525652036,
                  0.00010519478004425764,
                  0.00011992394487606362,
                  0.00011192917998414486,
                  0.00010622367495670915
                ]
              },
              "warm_calls_per_second": 9414.097190739674
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 249614336,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.881451877998188
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 38,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006703851977363229,
          "minimum_seconds": 0.006385992979630828,
          "maximum_seconds": 0.007751236029434949,
          "samples_seconds": [
            0.007526530011091381,
            0.006385992979630828,
            0.007751236029434949,
            0.006703851977363229,
            0.006585078022908419
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005351524974685162,
          "minimum_seconds": 0.00492609100183472,
          "maximum_seconds": 0.012438579986337572,
          "samples_seconds": [
            0.012438579986337572,
            0.005275111994706094,
            0.00492609100183472,
            0.005351524974685162,
            0.005528584006242454
          ]
        },
        "backend_setup_seconds": 0.9459016590262763,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.21809024800313637,
              "first_evaluation_seconds": 0.0011670769890770316,
              "warm": {
                "median_seconds": 4.155403003096581e-05,
                "minimum_seconds": 3.2782835187390444e-05,
                "maximum_seconds": 4.394571005832404e-05,
                "samples_seconds": [
                  4.18748747324571e-05,
                  4.394571005832404e-05,
                  4.155403003096581e-05,
                  3.703181020682678e-05,
                  3.2782835187390444e-05
                ]
              },
              "warm_calls_per_second": 24065.05456281391
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.2082194079994224,
              "first_evaluation_seconds": 0.0008019439992494881,
              "warm": {
                "median_seconds": 3.1424780027009546e-05,
                "minimum_seconds": 2.991304500028491e-05,
                "maximum_seconds": 3.577892523026094e-05,
                "samples_seconds": [
                  3.312621993245557e-05,
                  3.125838993582875e-05,
                  3.1424780027009546e-05,
                  3.577892523026094e-05,
                  2.991304500028491e-05
                ]
              },
              "warm_calls_per_second": 31822.020683692986
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.2475566990324296,
              "first_evaluation_seconds": 0.0008797050104476511,
              "warm": {
                "median_seconds": 3.298203489976004e-05,
                "minimum_seconds": 3.0461610003840177e-05,
                "maximum_seconds": 3.56784398900345e-05,
                "samples_seconds": [
                  3.444078000029549e-05,
                  3.56784398900345e-05,
                  3.298203489976004e-05,
                  3.0461610003840177e-05,
                  3.264755505369976e-05
                ]
              },
              "warm_calls_per_second": 30319.53616686263
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 264126464,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.687258547986858
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 39,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.00733021495398134,
          "minimum_seconds": 0.006504247954580933,
          "maximum_seconds": 0.009486214956268668,
          "samples_seconds": [
            0.009486214956268668,
            0.006504247954580933,
            0.00733021495398134,
            0.006533659005071968,
            0.0075152560020796955
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0050836639711633325,
          "minimum_seconds": 0.004792699997778982,
          "maximum_seconds": 0.13597593997837976,
          "samples_seconds": [
            0.13597593997837976,
            0.004974471987225115,
            0.00629540701629594,
            0.004792699997778982,
            0.0050836639711633325
          ]
        },
        "backend_setup_seconds": 0.820460959977936,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19070626696338877,
              "first_evaluation_seconds": 0.0007376690045930445,
              "warm": {
                "median_seconds": 2.9830849962309e-05,
                "minimum_seconds": 2.8335949755273758e-05,
                "maximum_seconds": 3.2520309905521574e-05,
                "samples_seconds": [
                  2.9830849962309e-05,
                  3.2520309905521574e-05,
                  2.8335949755273758e-05,
                  2.9895705229137092e-05,
                  2.8389285143930466e-05
                ]
              },
              "warm_calls_per_second": 33522.343522343166
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.20809789095073938,
              "first_evaluation_seconds": 0.0007972180028446019,
              "warm": {
                "median_seconds": 3.320867486763745e-05,
                "minimum_seconds": 3.122044989140704e-05,
                "maximum_seconds": 3.7301440024748444e-05,
                "samples_seconds": [
                  3.320867486763745e-05,
                  3.60367150278762e-05,
                  3.7301440024748444e-05,
                  3.122044989140704e-05,
                  3.176939499098808e-05
                ]
              },
              "warm_calls_per_second": 30112.613766908264
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.2391243800520897,
              "first_evaluation_seconds": 0.0007591690518893301,
              "warm": {
                "median_seconds": 3.454493504250422e-05,
                "minimum_seconds": 3.0460025009233504e-05,
                "maximum_seconds": 3.856636001728475e-05,
                "samples_seconds": [
                  3.0460025009233504e-05,
                  3.856636001728475e-05,
                  3.551485482603312e-05,
                  3.424653987167403e-05,
                  3.454493504250422e-05
                ]
              },
              "warm_calls_per_second": 28947.80374516832
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 269619200,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.345245362026617
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 40,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.009341189987026155,
          "minimum_seconds": 0.008950239978730679,
          "maximum_seconds": 0.011100205010734499,
          "samples_seconds": [
            0.010381694009993225,
            0.008950239978730679,
            0.011100205010734499,
            0.009341189987026155,
            0.009188116993755102
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.007409168989397585,
          "minimum_seconds": 0.007045297999866307,
          "maximum_seconds": 0.16190085402922705,
          "samples_seconds": [
            0.16190085402922705,
            0.007045297999866307,
            0.008175947004929185,
            0.007409168989397585,
            0.007192113029304892
          ]
        },
        "backend_setup_seconds": 7.848796667531133e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00018112501129508018,
              "warm": {
                "median_seconds": 6.114988995250315e-05,
                "minimum_seconds": 5.965012009255588e-05,
                "maximum_seconds": 6.268845492741093e-05,
                "samples_seconds": [
                  6.0083545104134825e-05,
                  6.268845492741093e-05,
                  6.114988995250315e-05,
                  5.965012009255588e-05,
                  6.261945993173867e-05
                ]
              },
              "warm_calls_per_second": 16353.25919272673
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0004043930093757808,
              "warm": {
                "median_seconds": 0.00013787969015538693,
                "minimum_seconds": 9.451068995986134e-05,
                "maximum_seconds": 0.00021580318018095567,
                "samples_seconds": [
                  0.00021580318018095567,
                  0.0001830821399926208,
                  0.00013787969015538693,
                  9.823958011111245e-05,
                  9.451068995986134e-05
                ]
              },
              "warm_calls_per_second": 7252.699791194956
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 8.913903729990125e-05,
              "warm": {
                "median_seconds": 6.533956504426896e-05,
                "minimum_seconds": 6.424184510251508e-05,
                "maximum_seconds": 7.433215505443513e-05,
                "samples_seconds": [
                  6.533956504426896e-05,
                  6.571145495399832e-05,
                  7.433215505443513e-05,
                  6.424184510251508e-05,
                  6.520625000121072e-05
                ]
              },
              "warm_calls_per_second": 15304.662639282622
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59834368,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.1112988700042479
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 41,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.007152682985179126,
          "minimum_seconds": 0.005499312013853341,
          "maximum_seconds": 0.007398370013106614,
          "samples_seconds": [
            0.007221148000098765,
            0.006364044034853578,
            0.007398370013106614,
            0.007152682985179126,
            0.005499312013853341
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004639605002012104,
          "minimum_seconds": 0.004449942032806575,
          "maximum_seconds": 0.011997709982097149,
          "samples_seconds": [
            0.011997709982097149,
            0.004639605002012104,
            0.004504815966356546,
            0.004449942032806575,
            0.005654151027556509
          ]
        },
        "backend_setup_seconds": 0.10810681997099891,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00014855200424790382,
              "warm": {
                "median_seconds": 4.2071430070791396e-05,
                "minimum_seconds": 4.017980507342145e-05,
                "maximum_seconds": 4.362308012787253e-05,
                "samples_seconds": [
                  4.2525964963715524e-05,
                  4.017980507342145e-05,
                  4.0403470047749577e-05,
                  4.2071430070791396e-05,
                  4.362308012787253e-05
                ]
              },
              "warm_calls_per_second": 23769.099322684116
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0004304000176489353,
              "warm": {
                "median_seconds": 0.0001888593702460639,
                "minimum_seconds": 0.00017034757998771966,
                "maximum_seconds": 0.00024258582998299972,
                "samples_seconds": [
                  0.0001797659049043432,
                  0.00019218739500502125,
                  0.00017034757998771966,
                  0.0001888593702460639,
                  0.00024258582998299972
                ]
              },
              "warm_calls_per_second": 5294.945115495752
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00020831002620980144,
              "warm": {
                "median_seconds": 0.00017418511997675524,
                "minimum_seconds": 0.00015625026513589547,
                "maximum_seconds": 0.00018024838500423356,
                "samples_seconds": [
                  0.00016876234003575518,
                  0.00018024838500423356,
                  0.00015625026513589547,
                  0.0001742398799979128,
                  0.00017418511997675524
                ]
              },
              "warm_calls_per_second": 5741.018521751161
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59400192,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.1585512820165604
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 42,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.0065891630365513265,
          "minimum_seconds": 0.005834829993546009,
          "maximum_seconds": 0.0076626629452221096,
          "samples_seconds": [
            0.007331318978685886,
            0.0076626629452221096,
            0.005936005036346614,
            0.0065891630365513265,
            0.005834829993546009
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.009274086041841656,
          "minimum_seconds": 0.008536042994819582,
          "maximum_seconds": 0.01736579299904406,
          "samples_seconds": [
            0.01736579299904406,
            0.008536042994819582,
            0.008829016995150596,
            0.009274086041841656,
            0.009385030018165708
          ]
        },
        "backend_setup_seconds": 1.8833490429678932,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00030644796788692474,
              "warm": {
                "median_seconds": 5.6749744981061664e-05,
                "minimum_seconds": 5.5440715223085134e-05,
                "maximum_seconds": 7.880732999183238e-05,
                "samples_seconds": [
                  5.6749744981061664e-05,
                  5.7579910208005455e-05,
                  5.5440715223085134e-05,
                  5.564770515775308e-05,
                  7.880732999183238e-05
                ]
              },
              "warm_calls_per_second": 17621.224559400518
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0006597600295208395,
              "warm": {
                "median_seconds": 0.00027455153496703133,
                "minimum_seconds": 0.0002311419349280186,
                "maximum_seconds": 0.00035818311502225695,
                "samples_seconds": [
                  0.00035818311502225695,
                  0.0002311419349280186,
                  0.00027455153496703133,
                  0.0002727653650799766,
                  0.0002937151599326171
                ]
              },
              "warm_calls_per_second": 3642.303439024961
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00031040102476254106,
              "warm": {
                "median_seconds": 0.00013411457010079175,
                "minimum_seconds": 0.00011937576491618528,
                "maximum_seconds": 0.00016172924515558406,
                "samples_seconds": [
                  0.00016172924515558406,
                  0.0001457105900044553,
                  0.00013411457010079175,
                  0.00012954234494827688,
                  0.00011937576491618528
                ]
              },
              "warm_calls_per_second": 7456.311415295633
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.000912120973225683,
              "warm": {
                "median_seconds": 0.0005424990749452263,
                "minimum_seconds": 0.0005133995998767204,
                "maximum_seconds": 0.0011972502950811758,
                "samples_seconds": [
                  0.0011972502950811758,
                  0.0005348223450710066,
                  0.0005133995998767204,
                  0.0005424990749452263,
                  0.0005918379648937843
                ]
              },
              "warm_calls_per_second": 1843.3211155262622
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 250318848,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.579112271021586
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 43,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.007186734990682453,
          "minimum_seconds": 0.006160076998639852,
          "maximum_seconds": 0.009997693006880581,
          "samples_seconds": [
            0.00828457495663315,
            0.007186734990682453,
            0.009997693006880581,
            0.006160076998639852,
            0.006667973997537047
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.011642129975371063,
          "minimum_seconds": 0.010151013964787126,
          "maximum_seconds": 0.14489400701131672,
          "samples_seconds": [
            0.14489400701131672,
            0.011642129975371063,
            0.010205355007201433,
            0.010151013964787126,
            0.012259057024493814
          ]
        },
        "backend_setup_seconds": 2.1661609309958294,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003008299972862005,
              "warm": {
                "median_seconds": 8.021513000130653e-05,
                "minimum_seconds": 7.353110995609314e-05,
                "maximum_seconds": 9.286114014685154e-05,
                "samples_seconds": [
                  9.286114014685154e-05,
                  8.078586484771222e-05,
                  8.021513000130653e-05,
                  7.353110995609314e-05,
                  7.727187010459603e-05
                ]
              },
              "warm_calls_per_second": 12466.476087288172
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.000714356021489948,
              "warm": {
                "median_seconds": 0.00034310357994399965,
                "minimum_seconds": 0.0002971318148775026,
                "maximum_seconds": 0.000372744764899835,
                "samples_seconds": [
                  0.0002980852298787795,
                  0.00034310357994399965,
                  0.0003700537449913099,
                  0.000372744764899835,
                  0.0002971318148775026
                ]
              },
              "warm_calls_per_second": 2914.5717458361028
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00026294600684195757,
              "warm": {
                "median_seconds": 0.00019703435013070702,
                "minimum_seconds": 0.00017977537994738667,
                "maximum_seconds": 0.00023609136987943203,
                "samples_seconds": [
                  0.00019703435013070702,
                  0.00017977537994738667,
                  0.0001900349449715577,
                  0.00022361480485415087,
                  0.00023609136987943203
                ]
              },
              "warm_calls_per_second": 5075.25717894686
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0009297869983129203,
              "warm": {
                "median_seconds": 0.0005956883300677874,
                "minimum_seconds": 0.0005466548851109109,
                "maximum_seconds": 0.0006055461298092268,
                "samples_seconds": [
                  0.0006055461298092268,
                  0.0005719864249113016,
                  0.0006028539600083604,
                  0.0005956883300677874,
                  0.0005466548851109109
                ]
              },
              "warm_calls_per_second": 1678.730217673063
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 258908160,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.91182924003806
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 44,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.00832479598466307,
          "minimum_seconds": 0.0063581280410289764,
          "maximum_seconds": 0.010607098985929042,
          "samples_seconds": [
            0.010607098985929042,
            0.00832479598466307,
            0.01018039503833279,
            0.00785966799594462,
            0.0063581280410289764
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.010309540026355535,
          "minimum_seconds": 0.008954670978710055,
          "maximum_seconds": 0.17897213803371415,
          "samples_seconds": [
            0.17897213803371415,
            0.010309540026355535,
            0.00937998597510159,
            0.013060937984846532,
            0.008954670978710055
          ]
        },
        "backend_setup_seconds": 0.8708844399661757,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17885367904091254,
              "first_evaluation_seconds": 0.0008153929957188666,
              "warm": {
                "median_seconds": 3.034450492123142e-05,
                "minimum_seconds": 2.9008934798184783e-05,
                "maximum_seconds": 3.4875460260082035e-05,
                "samples_seconds": [
                  2.9898100183345378e-05,
                  3.174240002408624e-05,
                  3.034450492123142e-05,
                  2.9008934798184783e-05,
                  3.4875460260082035e-05
                ]
              },
              "warm_calls_per_second": 32954.89587310158
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17288615502184257,
              "first_evaluation_seconds": 0.0006551569676958025,
              "warm": {
                "median_seconds": 4.2256595042999835e-05,
                "minimum_seconds": 3.610543499235064e-05,
                "maximum_seconds": 4.529483499936759e-05,
                "samples_seconds": [
                  3.610543499235064e-05,
                  4.2256595042999835e-05,
                  4.524300486082211e-05,
                  4.529483499936759e-05,
                  4.1910035070031884e-05
                ]
              },
              "warm_calls_per_second": 23664.94505727239
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.171034452971071,
              "first_evaluation_seconds": 0.0006842280272394419,
              "warm": {
                "median_seconds": 3.2598989782854915e-05,
                "minimum_seconds": 2.8886809886898845e-05,
                "maximum_seconds": 4.470564512303099e-05,
                "samples_seconds": [
                  2.8886809886898845e-05,
                  3.047651000088081e-05,
                  3.4449219820089636e-05,
                  3.2598989782854915e-05,
                  4.470564512303099e-05
                ]
              },
              "warm_calls_per_second": 30675.797215223494
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17329649697057903,
              "first_evaluation_seconds": 0.0007451059645973146,
              "warm": {
                "median_seconds": 3.791127499425784e-05,
                "minimum_seconds": 3.252295020502061e-05,
                "maximum_seconds": 4.177479015197605e-05,
                "samples_seconds": [
                  3.308886487502605e-05,
                  3.791127499425784e-05,
                  3.252295020502061e-05,
                  3.970403515268117e-05,
                  4.177479015197605e-05
                ]
              },
              "warm_calls_per_second": 26377.377182684126
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 274731008,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.830711883958429
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 45,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.007453366997651756,
          "minimum_seconds": 0.0071024459903128445,
          "maximum_seconds": 0.010721541999373585,
          "samples_seconds": [
            0.010721541999373585,
            0.009312648966442794,
            0.007212085998617113,
            0.0071024459903128445,
            0.007453366997651756
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.011921657947823405,
          "minimum_seconds": 0.011146621021907777,
          "maximum_seconds": 0.02633568801684305,
          "samples_seconds": [
            0.02633568801684305,
            0.011146621021907777,
            0.011576439021155238,
            0.012822218996006995,
            0.011921657947823405
          ]
        },
        "backend_setup_seconds": 0.9190806349506602,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17455876799067482,
              "first_evaluation_seconds": 0.0009235029574483633,
              "warm": {
                "median_seconds": 2.8691030165646226e-05,
                "minimum_seconds": 2.8209695010446012e-05,
                "maximum_seconds": 2.9259380244184286e-05,
                "samples_seconds": [
                  2.9259380244184286e-05,
                  2.8691030165646226e-05,
                  2.8209695010446012e-05,
                  2.8788555064238607e-05,
                  2.8560414793901146e-05
                ]
              },
              "warm_calls_per_second": 34854.098797657316
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.16560474096331745,
              "first_evaluation_seconds": 0.0007874739822000265,
              "warm": {
                "median_seconds": 3.3226615050807597e-05,
                "minimum_seconds": 2.9280330054461955e-05,
                "maximum_seconds": 4.200983006739989e-05,
                "samples_seconds": [
                  2.9280330054461955e-05,
                  3.3029854821506886e-05,
                  4.200983006739989e-05,
                  4.079584497958422e-05,
                  3.3226615050807597e-05
                ]
              },
              "warm_calls_per_second": 30096.354939282155
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15111510700080544,
              "first_evaluation_seconds": 0.0007620750111527741,
              "warm": {
                "median_seconds": 2.9172769864089787e-05,
                "minimum_seconds": 2.6884565013460815e-05,
                "maximum_seconds": 3.2044315012171865e-05,
                "samples_seconds": [
                  2.6884565013460815e-05,
                  2.8610120061784982e-05,
                  3.2044315012171865e-05,
                  2.9172769864089787e-05,
                  2.9983764979988335e-05
                ]
              },
              "warm_calls_per_second": 34278.54141580672
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1587585830129683,
              "first_evaluation_seconds": 0.0007019999902695417,
              "warm": {
                "median_seconds": 2.786652505164966e-05,
                "minimum_seconds": 2.701233985135332e-05,
                "maximum_seconds": 2.8332395013421775e-05,
                "samples_seconds": [
                  2.8332395013421775e-05,
                  2.8290649934206157e-05,
                  2.786652505164966e-05,
                  2.7546090132091193e-05,
                  2.701233985135332e-05
                ]
              },
              "warm_calls_per_second": 35885.349829106206
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 269234176,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.509957505972125
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 1,
      "mode": "timing",
      "order": 46,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.0060872629983350635,
          "minimum_seconds": 0.005887277016881853,
          "maximum_seconds": 0.007462999026756734,
          "samples_seconds": [
            0.007349534018430859,
            0.007462999026756734,
            0.005887277016881853,
            0.0060872629983350635,
            0.005963617004454136
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008933041943237185,
          "minimum_seconds": 0.008526852005161345,
          "maximum_seconds": 0.01857549900887534,
          "samples_seconds": [
            0.01857549900887534,
            0.008721794991288334,
            0.008933041943237185,
            0.008526852005161345,
            0.009551391995046288
          ]
        },
        "backend_setup_seconds": 0.10341585701098666,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00014955800725147128,
              "warm": {
                "median_seconds": 3.831334499409422e-05,
                "minimum_seconds": 3.329119994305074e-05,
                "maximum_seconds": 4.475629015360027e-05,
                "samples_seconds": [
                  3.831334499409422e-05,
                  3.4379379940219223e-05,
                  3.329119994305074e-05,
                  3.937480476452038e-05,
                  4.475629015360027e-05
                ]
              },
              "warm_calls_per_second": 26100.56626885865
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00029789202380925417,
              "warm": {
                "median_seconds": 0.00015156748500885442,
                "minimum_seconds": 0.00012111586489481852,
                "maximum_seconds": 0.00018523105507483705,
                "samples_seconds": [
                  0.00018523105507483705,
                  0.00016849943494889885,
                  0.00015156748500885442,
                  0.0001281413299147971,
                  0.00012111586489481852
                ]
              },
              "warm_calls_per_second": 6597.721140134911
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012705399421975017,
              "warm": {
                "median_seconds": 8.177158510079607e-05,
                "minimum_seconds": 7.98642248264514e-05,
                "maximum_seconds": 8.558498491765931e-05,
                "samples_seconds": [
                  8.518819988239556e-05,
                  8.171933004632592e-05,
                  8.177158510079607e-05,
                  7.98642248264514e-05,
                  8.558498491765931e-05
                ]
              },
              "warm_calls_per_second": 12229.186932934539
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00036023103166371584,
              "warm": {
                "median_seconds": 0.0003104285700828768,
                "minimum_seconds": 0.0003029156898264773,
                "maximum_seconds": 0.00033707309019519015,
                "samples_seconds": [
                  0.0003029156898264773,
                  0.00030799343483522534,
                  0.0003104285700828768,
                  0.0003124685300281271,
                  0.00033707309019519015
                ]
              },
              "warm_calls_per_second": 3221.3529822110913
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 59527168,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.2924428230035119
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 1,
      "mode": "timing",
      "order": 47,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005981225986033678,
          "minimum_seconds": 0.005535733012948185,
          "maximum_seconds": 0.006892612960655242,
          "samples_seconds": [
            0.006892612960655242,
            0.005981225986033678,
            0.006883002002723515,
            0.005535733012948185,
            0.005614972033072263
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008765558013692498,
          "minimum_seconds": 0.008405523956753314,
          "maximum_seconds": 0.11862980102887377,
          "samples_seconds": [
            0.11862980102887377,
            0.009110411978326738,
            0.008765558013692498,
            0.008564654970541596,
            0.008405523956753314
          ]
        },
        "backend_setup_seconds": 7.082201773300767e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 7.020100019872189e-05,
              "warm": {
                "median_seconds": 2.6521859981585295e-05,
                "minimum_seconds": 2.3458444920834155e-05,
                "maximum_seconds": 2.9023904935456813e-05,
                "samples_seconds": [
                  2.9023904935456813e-05,
                  2.815708518028259e-05,
                  2.5230095197912305e-05,
                  2.3458444920834155e-05,
                  2.6521859981585295e-05
                ]
              },
              "warm_calls_per_second": 37704.74622422114
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002546769683249295,
              "warm": {
                "median_seconds": 0.00015839730011066422,
                "minimum_seconds": 0.0001316626652260311,
                "maximum_seconds": 0.00018371013487922027,
                "samples_seconds": [
                  0.0001631950552109629,
                  0.00018371013487922027,
                  0.00015839730011066422,
                  0.00013836495520081372,
                  0.0001316626652260311
                ]
              },
              "warm_calls_per_second": 6313.2389207477045
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015420798445120454,
              "warm": {
                "median_seconds": 8.139873505569995e-05,
                "minimum_seconds": 5.7331600110046566e-05,
                "maximum_seconds": 8.73677950585261e-05,
                "samples_seconds": [
                  8.392938500037417e-05,
                  8.139873505569995e-05,
                  8.73677950585261e-05,
                  6.495687994174659e-05,
                  5.7331600110046566e-05
                ]
              },
              "warm_calls_per_second": 12285.203195304139
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00038766098441556096,
              "warm": {
                "median_seconds": 0.0002707665500929579,
                "minimum_seconds": 0.00023175996000645682,
                "maximum_seconds": 0.00031705163477454336,
                "samples_seconds": [
                  0.00024283074511913583,
                  0.00023175996000645682,
                  0.0002776235350756906,
                  0.00031705163477454336,
                  0.0002707665500929579
                ]
              },
              "warm_calls_per_second": 3693.2183818742974
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 60014592,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.2335179559886456
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 48,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005545798980165273,
          "minimum_seconds": 0.004302310000639409,
          "maximum_seconds": 0.00785127398557961,
          "samples_seconds": [
            0.00785127398557961,
            0.006468960957136005,
            0.004338358005043119,
            0.004302310000639409,
            0.005545798980165273
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008943305001594126,
          "minimum_seconds": 0.007215938006993383,
          "maximum_seconds": 0.017535007966216654,
          "samples_seconds": [
            0.017535007966216654,
            0.007215938006993383,
            0.008943305001594126,
            0.007569518988020718,
            0.008955829951446503
          ]
        },
        "backend_setup_seconds": 0.10130287200445309,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001248930348083377,
              "warm": {
                "median_seconds": 3.275655501056462e-05,
                "minimum_seconds": 3.198635997250676e-05,
                "maximum_seconds": 4.703048005467281e-05,
                "samples_seconds": [
                  4.703048005467281e-05,
                  3.2979320094455035e-05,
                  3.198635997250676e-05,
                  3.24548949720338e-05,
                  3.275655501056462e-05
                ]
              },
              "warm_calls_per_second": 30528.24082622488
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00026499800151214004,
              "warm": {
                "median_seconds": 0.0001259860201389529,
                "minimum_seconds": 0.00011589227477088571,
                "maximum_seconds": 0.00017812451493227856,
                "samples_seconds": [
                  0.00017812451493227856,
                  0.00013480023480951785,
                  0.0001259860201389529,
                  0.0001245464099338278,
                  0.00011589227477088571
                ]
              },
              "warm_calls_per_second": 7937.388599918284
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001068309647962451,
              "warm": {
                "median_seconds": 8.618201012723147e-05,
                "minimum_seconds": 7.325540500460192e-05,
                "maximum_seconds": 9.630962478695437e-05,
                "samples_seconds": [
                  9.630962478695437e-05,
                  8.800660521956161e-05,
                  7.39375498960726e-05,
                  8.618201012723147e-05,
                  7.325540500460192e-05
                ]
              },
              "warm_calls_per_second": 11603.349684275045
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.000326352019328624,
              "warm": {
                "median_seconds": 0.0003983340601553209,
                "minimum_seconds": 0.0003817310897284187,
                "maximum_seconds": 0.0004257850599242374,
                "samples_seconds": [
                  0.0003817310897284187,
                  0.00041041010001208634,
                  0.0004257850599242374,
                  0.0003983340601553209,
                  0.0003842839549179189
                ]
              },
              "warm_calls_per_second": 2510.455670323732
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 59564032,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.4141243629856035
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 49,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005729167023673654,
          "minimum_seconds": 0.005492324999067932,
          "maximum_seconds": 0.007443412963766605,
          "samples_seconds": [
            0.007443412963766605,
            0.005729167023673654,
            0.006875669991131872,
            0.005629074003081769,
            0.005492324999067932
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008943082997575402,
          "minimum_seconds": 0.008506201964337379,
          "maximum_seconds": 0.11429886100813746,
          "samples_seconds": [
            0.11429886100813746,
            0.008932842989452183,
            0.00948073499603197,
            0.008943082997575402,
            0.008506201964337379
          ]
        },
        "backend_setup_seconds": 6.351200863718987e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 7.325102342292666e-05,
              "warm": {
                "median_seconds": 3.2343394996132704e-05,
                "minimum_seconds": 2.3490665189456194e-05,
                "maximum_seconds": 3.3838814997579905e-05,
                "samples_seconds": [
                  3.2343394996132704e-05,
                  3.3838814997579905e-05,
                  3.366336517501622e-05,
                  3.087624994805083e-05,
                  2.3490665189456194e-05
                ]
              },
              "warm_calls_per_second": 30918.213753366643
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016861996846273541,
              "warm": {
                "median_seconds": 8.804467011941597e-05,
                "minimum_seconds": 8.425790001638233e-05,
                "maximum_seconds": 9.469409997109324e-05,
                "samples_seconds": [
                  9.469409997109324e-05,
                  9.21439001103863e-05,
                  8.454702474409714e-05,
                  8.425790001638233e-05,
                  8.804467011941597e-05
                ]
              },
              "warm_calls_per_second": 11357.870938055521
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001053930027410388,
              "warm": {
                "median_seconds": 6.174247013404966e-05,
                "minimum_seconds": 5.906635487917811e-05,
                "maximum_seconds": 6.418473523808643e-05,
                "samples_seconds": [
                  6.418473523808643e-05,
                  6.208676495589316e-05,
                  5.976975517114624e-05,
                  6.174247013404966e-05,
                  5.906635487917811e-05
                ]
              },
              "warm_calls_per_second": 16196.30698008827
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00046841998118907213,
              "warm": {
                "median_seconds": 0.00024352214008104055,
                "minimum_seconds": 0.00023087729001417757,
                "maximum_seconds": 0.0002496355699258856,
                "samples_seconds": [
                  0.00023087729001417757,
                  0.0002379527100129053,
                  0.00024421973503194747,
                  0.00024352214008104055,
                  0.0002496355699258856
                ]
              },
              "warm_calls_per_second": 4106.402808661319
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 59920384,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.1220818280125968
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 50,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005230780981946737,
          "minimum_seconds": 0.003593596979044378,
          "maximum_seconds": 0.006461918004788458,
          "samples_seconds": [
            0.006461918004788458,
            0.005230780981946737,
            0.005507277033757418,
            0.00400861696107313,
            0.003593596979044378
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.006853353988844901,
          "minimum_seconds": 0.005334160989150405,
          "maximum_seconds": 0.10093628597678617,
          "samples_seconds": [
            0.10093628597678617,
            0.008078001032117754,
            0.006853353988844901,
            0.005717669962905347,
            0.005334160989150405
          ]
        },
        "backend_setup_seconds": 0.6924913080292754,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.16115098603768274,
              "first_evaluation_seconds": 0.0007532009622082114,
              "warm": {
                "median_seconds": 2.7787100116256624e-05,
                "minimum_seconds": 2.7393369819037617e-05,
                "maximum_seconds": 3.4557665057946e-05,
                "samples_seconds": [
                  2.7787100116256624e-05,
                  3.4557665057946e-05,
                  3.1213735055644066e-05,
                  2.7554635016713293e-05,
                  2.7393369819037617e-05
                ]
              },
              "warm_calls_per_second": 35987.92230265719
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1520975249586627,
              "first_evaluation_seconds": 0.0007098430069163442,
              "warm": {
                "median_seconds": 2.725050027947873e-05,
                "minimum_seconds": 2.618616505060345e-05,
                "maximum_seconds": 3.189879498677328e-05,
                "samples_seconds": [
                  2.65490950550884e-05,
                  3.189879498677328e-05,
                  2.618616505060345e-05,
                  2.725050027947873e-05,
                  3.0420155089814214e-05
                ]
              },
              "warm_calls_per_second": 36696.57399842528
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1477724930155091,
              "first_evaluation_seconds": 0.0006780190160498023,
              "warm": {
                "median_seconds": 2.8817715065088124e-05,
                "minimum_seconds": 2.7193769928999244e-05,
                "maximum_seconds": 2.989372005686164e-05,
                "samples_seconds": [
                  2.880451502278447e-05,
                  2.9263309843372555e-05,
                  2.8817715065088124e-05,
                  2.7193769928999244e-05,
                  2.989372005686164e-05
                ]
              },
              "warm_calls_per_second": 34700.877489467326
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15513385902158916,
              "first_evaluation_seconds": 0.0009141810005530715,
              "warm": {
                "median_seconds": 2.7274445164948703e-05,
                "minimum_seconds": 2.644016989506781e-05,
                "maximum_seconds": 3.1685289868619294e-05,
                "samples_seconds": [
                  3.131869481876492e-05,
                  3.1685289868619294e-05,
                  2.7274445164948703e-05,
                  2.644016989506781e-05,
                  2.6982045092154295e-05
                ]
              },
              "warm_calls_per_second": 36664.357201485196
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 274735104,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.138144035008736
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 51,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.004818235000129789,
          "minimum_seconds": 0.004159090982284397,
          "maximum_seconds": 0.006646285008173436,
          "samples_seconds": [
            0.006646285008173436,
            0.006535344000440091,
            0.004818235000129789,
            0.004743005963973701,
            0.004159090982284397
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.00767172098858282,
          "minimum_seconds": 0.0062368359649553895,
          "maximum_seconds": 0.016158247948624194,
          "samples_seconds": [
            0.016158247948624194,
            0.008122115978039801,
            0.00767172098858282,
            0.006494759989436716,
            0.0062368359649553895
          ]
        },
        "backend_setup_seconds": 0.7528811359661631,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14914917602436617,
              "first_evaluation_seconds": 0.0008606690098531544,
              "warm": {
                "median_seconds": 2.5914435100276022e-05,
                "minimum_seconds": 2.5059419858735054e-05,
                "maximum_seconds": 2.7579629968386143e-05,
                "samples_seconds": [
                  2.6677839923650026e-05,
                  2.545663999626413e-05,
                  2.5059419858735054e-05,
                  2.7579629968386143e-05,
                  2.5914435100276022e-05
                ]
              },
              "warm_calls_per_second": 38588.53168631674
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.14927344699390233,
              "first_evaluation_seconds": 0.0007165969582274556,
              "warm": {
                "median_seconds": 3.6145499907433984e-05,
                "minimum_seconds": 3.0470955243799837e-05,
                "maximum_seconds": 3.917622496373952e-05,
                "samples_seconds": [
                  3.0470955243799837e-05,
                  3.607937978813425e-05,
                  3.6145499907433984e-05,
                  3.917622496373952e-05,
                  3.9008205058053135e-05
                ]
              },
              "warm_calls_per_second": 27665.961255506987
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15261395502602682,
              "first_evaluation_seconds": 0.0006485529593192041,
              "warm": {
                "median_seconds": 2.7180504985153676e-05,
                "minimum_seconds": 2.6171125064138323e-05,
                "maximum_seconds": 3.092130995355547e-05,
                "samples_seconds": [
                  2.6171125064138323e-05,
                  2.8442869952414183e-05,
                  2.7154440176673232e-05,
                  2.7180504985153676e-05,
                  3.092130995355547e-05
                ]
              },
              "warm_calls_per_second": 36791.075093940024
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.734651632003631,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326894315591744e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.15602617798140272,
              "first_evaluation_seconds": 0.0007753160316497087,
              "warm": {
                "median_seconds": 2.79960100306198e-05,
                "minimum_seconds": 2.7286719996482135e-05,
                "maximum_seconds": 2.9446205007843674e-05,
                "samples_seconds": [
                  2.79960100306198e-05,
                  2.866271504899487e-05,
                  2.7459124976303428e-05,
                  2.9446205007843674e-05,
                  2.7286719996482135e-05
                ]
              },
              "warm_calls_per_second": 35719.37568625958
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 269230080,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.847532618034165
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 52,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.005393597995862365,
          "minimum_seconds": 0.004396928008645773,
          "maximum_seconds": 0.0068721669958904386,
          "samples_seconds": [
            0.0068721669958904386,
            0.006707186985295266,
            0.005393597995862365,
            0.0049062930047512054,
            0.004396928008645773
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.00838941999245435,
          "minimum_seconds": 0.006237291032448411,
          "maximum_seconds": 0.01692717697005719,
          "samples_seconds": [
            0.01692717697005719,
            0.008485226018819958,
            0.00838941999245435,
            0.007258376048412174,
            0.006237291032448411
          ]
        },
        "backend_setup_seconds": 1.7898927700007334,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00012470904039219022,
              "warm": {
                "median_seconds": 5.476333491969854e-05,
                "minimum_seconds": 5.320323980413377e-05,
                "maximum_seconds": 6.39382001827471e-05,
                "samples_seconds": [
                  5.320323980413377e-05,
                  5.322370503563434e-05,
                  5.476333491969854e-05,
                  5.516861012438312e-05,
                  6.39382001827471e-05
                ]
              },
              "warm_calls_per_second": 18260.39267817302
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00041307101491838694,
              "warm": {
                "median_seconds": 0.00015335998992668464,
                "minimum_seconds": 0.00013531645498005674,
                "maximum_seconds": 0.00020341611991170794,
                "samples_seconds": [
                  0.00020341611991170794,
                  0.00015556008991552517,
                  0.00013703010510653256,
                  0.00013531645498005674,
                  0.00015335998992668464
                ]
              },
              "warm_calls_per_second": 6520.60554045459
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00018143403576686978,
              "warm": {
                "median_seconds": 9.856179502094165e-05,
                "minimum_seconds": 9.680262999609113e-05,
                "maximum_seconds": 0.00010440499492688105,
                "samples_seconds": [
                  0.00010230391024379059,
                  9.680262999609113e-05,
                  9.73339649499394e-05,
                  9.856179502094165e-05,
                  0.00010440499492688105
                ]
              },
              "warm_calls_per_second": 10145.919113866867
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0008176119881682098,
              "warm": {
                "median_seconds": 0.0004079124500276521,
                "minimum_seconds": 0.00024280342011479662,
                "maximum_seconds": 0.0009853036300046369,
                "samples_seconds": [
                  0.0009853036300046369,
                  0.0004189175899955444,
                  0.0004079124500276521,
                  0.00028104291501222176,
                  0.00024280342011479662
                ]
              },
              "warm_calls_per_second": 2451.506444415243
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 250376192,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.9583232779987156
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 53,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": {
          "median_seconds": 0.006984526989981532,
          "minimum_seconds": 0.004936497018206865,
          "maximum_seconds": 0.00767438201000914,
          "samples_seconds": [
            0.00767438201000914,
            0.005719281965866685,
            0.007219745020847768,
            0.006984526989981532,
            0.004936497018206865
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008646497968584299,
          "minimum_seconds": 0.007195628015324473,
          "maximum_seconds": 0.11579842999344692,
          "samples_seconds": [
            0.11579842999344692,
            0.008341267006471753,
            0.008646497968584299,
            0.0089541079942137,
            0.007195628015324473
          ]
        },
        "backend_setup_seconds": 1.7454070540261455,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011778599582612514,
              "warm": {
                "median_seconds": 5.49042149214074e-05,
                "minimum_seconds": 5.137196509167552e-05,
                "maximum_seconds": 5.54951251251623e-05,
                "samples_seconds": [
                  5.529386515263468e-05,
                  5.158229527296498e-05,
                  5.54951251251623e-05,
                  5.137196509167552e-05,
                  5.49042149214074e-05
                ]
              },
              "warm_calls_per_second": 18213.537912006377
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0004086009575985372,
              "warm": {
                "median_seconds": 0.0001893515500705689,
                "minimum_seconds": 0.00013205283001298086,
                "maximum_seconds": 0.00027833334024762735,
                "samples_seconds": [
                  0.0001893515500705689,
                  0.00013205283001298086,
                  0.00015545528003713116,
                  0.00027833334024762735,
                  0.00023915303027024492
                ]
              },
              "warm_calls_per_second": 5281.1820110652
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.000539777975063771,
              "warm": {
                "median_seconds": 0.00011245338973822072,
                "minimum_seconds": 9.587310021743179e-05,
                "maximum_seconds": 0.00020299019990488887,
                "samples_seconds": [
                  0.00020299019990488887,
                  0.00014938615990104154,
                  0.00011245338973822072,
                  9.587310021743179e-05,
                  9.611737506929785e-05
                ]
              },
              "warm_calls_per_second": 8892.573201464993
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": -3.7346516320036307,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 3.326938724512729e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0008528619655407965,
              "warm": {
                "median_seconds": 0.00030488970020087436,
                "minimum_seconds": 0.0002627809302066453,
                "maximum_seconds": 0.0005069980450207367,
                "samples_seconds": [
                  0.00030488970020087436,
                  0.00027123731502797454,
                  0.0005069980450207367,
                  0.0003514240798540413,
                  0.0002627809302066453
                ]
              },
              "warm_calls_per_second": 3279.874654149213
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 258965504,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.980276524031069
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 54,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006643414031714201,
          "minimum_seconds": 0.006233689025975764,
          "maximum_seconds": 0.008966450986918062,
          "samples_seconds": [
            0.008966450986918062,
            0.006233689025975764,
            0.0072062110411934555,
            0.006643414031714201,
            0.0063805049867369235
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004616779973730445,
          "minimum_seconds": 0.004354987991973758,
          "maximum_seconds": 0.10598189901793376,
          "samples_seconds": [
            0.10598189901793376,
            0.005339079012628645,
            0.004354987991973758,
            0.004616779973730445,
            0.004450005013495684
          ]
        },
        "backend_setup_seconds": 6.865599425509572e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00010019703768193722,
              "warm": {
                "median_seconds": 3.630753490142524e-05,
                "minimum_seconds": 2.9970294854138046e-05,
                "maximum_seconds": 4.215900989947841e-05,
                "samples_seconds": [
                  4.0591165015939625e-05,
                  4.215900989947841e-05,
                  3.630753490142524e-05,
                  3.3733724849298595e-05,
                  2.9970294854138046e-05
                ]
              },
              "warm_calls_per_second": 27542.492287482324
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00018899398855865002,
              "warm": {
                "median_seconds": 9.780903987120837e-05,
                "minimum_seconds": 9.35813901014626e-05,
                "maximum_seconds": 0.00010219171002972871,
                "samples_seconds": [
                  9.717901004478335e-05,
                  9.35813901014626e-05,
                  9.997506509535015e-05,
                  0.00010219171002972871,
                  9.780903987120837e-05
                ]
              },
              "warm_calls_per_second": 10224.00384787302
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.546795627102256e-05,
              "warm": {
                "median_seconds": 8.753961010370404e-05,
                "minimum_seconds": 6.584225513506681e-05,
                "maximum_seconds": 0.00011746561503969132,
                "samples_seconds": [
                  6.584225513506681e-05,
                  6.861594476504252e-05,
                  8.753961010370404e-05,
                  9.859889483777806e-05,
                  0.00011746561503969132
                ]
              },
              "warm_calls_per_second": 11423.400204951191
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59715584,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.9319743110099807
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 55,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.005960993003100157,
          "minimum_seconds": 0.005558317992836237,
          "maximum_seconds": 0.007278311008121818,
          "samples_seconds": [
            0.007278311008121818,
            0.005960993003100157,
            0.007068652019370347,
            0.005558317992836237,
            0.005697576969396323
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004544402996543795,
          "minimum_seconds": 0.004333580029197037,
          "maximum_seconds": 0.011724481999408454,
          "samples_seconds": [
            0.011724481999408454,
            0.004558952990919352,
            0.004544402996543795,
            0.004341177002061158,
            0.004333580029197037
          ]
        },
        "backend_setup_seconds": 0.09168039896758273,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.707995923236012e-05,
              "warm": {
                "median_seconds": 3.600088501116261e-05,
                "minimum_seconds": 3.2330300018656996e-05,
                "maximum_seconds": 3.7329175102058796e-05,
                "samples_seconds": [
                  3.5664370225276796e-05,
                  3.7329175102058796e-05,
                  3.600088501116261e-05,
                  3.669508005259559e-05,
                  3.2330300018656996e-05
                ]
              },
              "warm_calls_per_second": 27777.094915581525
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00022952101426199079,
              "warm": {
                "median_seconds": 0.00010505782993277534,
                "minimum_seconds": 0.00010185962513787671,
                "maximum_seconds": 0.00011651284497929737,
                "samples_seconds": [
                  0.00011651284497929737,
                  0.00010529357008635998,
                  0.00010185962513787671,
                  0.00010505782993277534,
                  0.00010265792487189174
                ]
              },
              "warm_calls_per_second": 9518.567065775891
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001315720146521926,
              "warm": {
                "median_seconds": 7.450305507518351e-05,
                "minimum_seconds": 7.305666484171525e-05,
                "maximum_seconds": 7.585443003335968e-05,
                "samples_seconds": [
                  7.585443003335968e-05,
                  7.450305507518351e-05,
                  7.45680701220408e-05,
                  7.360898016486316e-05,
                  7.305666484171525e-05
                ]
              },
              "warm_calls_per_second": 13422.26837531517
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59482112,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.8957809739513323
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 56,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006482148019131273,
          "minimum_seconds": 0.004936334036756307,
          "maximum_seconds": 0.007048839994240552,
          "samples_seconds": [
            0.007048839994240552,
            0.006482148019131273,
            0.0067369319731369615,
            0.005294982984196395,
            0.004936334036756307
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004432381014339626,
          "minimum_seconds": 0.003744187008123845,
          "maximum_seconds": 0.011983873031567782,
          "samples_seconds": [
            0.011983873031567782,
            0.00490543304476887,
            0.004432381014339626,
            0.003969917015638202,
            0.003744187008123845
          ]
        },
        "backend_setup_seconds": 0.7548880489775911,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18791182700078934,
              "first_evaluation_seconds": 0.0007688790210522711,
              "warm": {
                "median_seconds": 2.8022500046063215e-05,
                "minimum_seconds": 2.6858935016207396e-05,
                "maximum_seconds": 3.1125785026233645e-05,
                "samples_seconds": [
                  2.6858935016207396e-05,
                  3.1125785026233645e-05,
                  3.077537985518575e-05,
                  2.7895074745174497e-05,
                  2.8022500046063215e-05
                ]
              },
              "warm_calls_per_second": 35685.60971919729
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.1990271779941395,
              "first_evaluation_seconds": 0.0010018739849328995,
              "warm": {
                "median_seconds": 3.0332610185723753e-05,
                "minimum_seconds": 2.756841480731964e-05,
                "maximum_seconds": 3.368367499206215e-05,
                "samples_seconds": [
                  2.756841480731964e-05,
                  3.368367499206215e-05,
                  2.7851875056512654e-05,
                  3.0332610185723753e-05,
                  3.2852779841050503e-05
                ]
              },
              "warm_calls_per_second": 32967.818920860846
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19165732600959018,
              "first_evaluation_seconds": 0.000680169032420963,
              "warm": {
                "median_seconds": 3.2400610216427594e-05,
                "minimum_seconds": 2.8832524840254337e-05,
                "maximum_seconds": 3.368488018168136e-05,
                "samples_seconds": [
                  3.2400610216427594e-05,
                  2.9995960067026316e-05,
                  3.285590501036495e-05,
                  3.368488018168136e-05,
                  2.8832524840254337e-05
                ]
              },
              "warm_calls_per_second": 30863.616250442872
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 264019968,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.829633907997049
    },
    {
      "case": {
        "backend": "jax",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 57,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006220937997568399,
          "minimum_seconds": 0.005847718974109739,
          "maximum_seconds": 0.00767272396478802,
          "samples_seconds": [
            0.00767272396478802,
            0.00616459600860253,
            0.0069390409626066685,
            0.006220937997568399,
            0.005847718974109739
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.005054354027379304,
          "minimum_seconds": 0.004340502026025206,
          "maximum_seconds": 0.1063762289704755,
          "samples_seconds": [
            0.1063762289704755,
            0.005163095949683338,
            0.004601165011990815,
            0.004340502026025206,
            0.005054354027379304
          ]
        },
        "backend_setup_seconds": 0.7175381900160573,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18363094999222085,
              "first_evaluation_seconds": 0.0007303949678316712,
              "warm": {
                "median_seconds": 2.7747054991777988e-05,
                "minimum_seconds": 2.7028679905924946e-05,
                "maximum_seconds": 2.8575125033967195e-05,
                "samples_seconds": [
                  2.8575125033967195e-05,
                  2.7747054991777988e-05,
                  2.7809614839497953e-05,
                  2.7505994949024172e-05,
                  2.7028679905924946e-05
                ]
              },
              "warm_calls_per_second": 36039.86081752893
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18844715203158557,
              "first_evaluation_seconds": 0.0008950160117819905,
              "warm": {
                "median_seconds": 3.023030993063003e-05,
                "minimum_seconds": 2.8444415074773134e-05,
                "maximum_seconds": 3.148113493807614e-05,
                "samples_seconds": [
                  2.9699984879698603e-05,
                  3.106727497652173e-05,
                  3.148113493807614e-05,
                  3.023030993063003e-05,
                  2.8444415074773134e-05
                ]
              },
              "warm_calls_per_second": 33079.38298663546
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.7910272726396297,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971178775761473e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19523027999093756,
              "first_evaluation_seconds": 0.0006981199840083718,
              "warm": {
                "median_seconds": 2.940994512755424e-05,
                "minimum_seconds": 2.841076988261193e-05,
                "maximum_seconds": 3.058171510929242e-05,
                "samples_seconds": [
                  3.058171510929242e-05,
                  2.841076988261193e-05,
                  2.9189789784140886e-05,
                  2.945791493402794e-05,
                  2.940994512755424e-05
                ]
              },
              "warm_calls_per_second": 34002.1035626856
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 269410304,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.840140626009088
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 58,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.007632130989804864,
          "minimum_seconds": 0.005856074974872172,
          "maximum_seconds": 0.009255064011085778,
          "samples_seconds": [
            0.007632130989804864,
            0.009255064011085778,
            0.007686197990551591,
            0.005856074974872172,
            0.00603713101008907
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.004752585024107248,
          "minimum_seconds": 0.004575091996230185,
          "maximum_seconds": 0.12170839199097827,
          "samples_seconds": [
            0.12170839199097827,
            0.005902086035348475,
            0.004752585024107248,
            0.0046579259796999395,
            0.004575091996230185
          ]
        },
        "backend_setup_seconds": 1.7388758950401098,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00017697096336632967,
              "warm": {
                "median_seconds": 6.124060018919408e-05,
                "minimum_seconds": 5.8061339950654654e-05,
                "maximum_seconds": 6.451978493714706e-05,
                "samples_seconds": [
                  5.888854007935152e-05,
                  6.124060018919408e-05,
                  6.451978493714706e-05,
                  5.8061339950654654e-05,
                  6.41987199196592e-05
                ]
              },
              "warm_calls_per_second": 16329.036569051297
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00040457502473145723,
              "warm": {
                "median_seconds": 0.00014977342012571172,
                "minimum_seconds": 0.00013546781498007475,
                "maximum_seconds": 0.00021421936515253037,
                "samples_seconds": [
                  0.00021421936515253037,
                  0.0001882600801764056,
                  0.00013888856017729267,
                  0.00013546781498007475,
                  0.00014977342012571172
                ]
              },
              "warm_calls_per_second": 6676.752117703221
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001735579571686685,
              "warm": {
                "median_seconds": 8.999762503663078e-05,
                "minimum_seconds": 8.848146011587232e-05,
                "maximum_seconds": 9.328516491223126e-05,
                "samples_seconds": [
                  9.328516491223126e-05,
                  8.848146011587232e-05,
                  8.999762503663078e-05,
                  9.017279982799664e-05,
                  8.960901497630403e-05
                ]
              },
              "warm_calls_per_second": 11111.404324202784
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 258326528,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.591317510989029
    },
    {
      "case": {
        "backend": "torch",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 59,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": {
          "median_seconds": 0.006121319020166993,
          "minimum_seconds": 0.005337370035704225,
          "maximum_seconds": 0.007631379994563758,
          "samples_seconds": [
            0.007631379994563758,
            0.006121319020166993,
            0.00696895201690495,
            0.005894180969335139,
            0.005337370035704225
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.0044841039925813675,
          "minimum_seconds": 0.0042375000193715096,
          "maximum_seconds": 0.01192769396584481,
          "samples_seconds": [
            0.01192769396584481,
            0.004487875034101307,
            0.0044841039925813675,
            0.0042375000193715096,
            0.004287846037186682
          ]
        },
        "backend_setup_seconds": 1.6457290800171904,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00014108698815107346,
              "warm": {
                "median_seconds": 5.614877998596057e-05,
                "minimum_seconds": 5.00766551704146e-05,
                "maximum_seconds": 5.946864490397275e-05,
                "samples_seconds": [
                  5.822653998620808e-05,
                  5.603275523753837e-05,
                  5.614877998596057e-05,
                  5.946864490397275e-05,
                  5.00766551704146e-05
                ]
              },
              "warm_calls_per_second": 17809.825970395792
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003545720246620476,
              "warm": {
                "median_seconds": 0.0001465072948485613,
                "minimum_seconds": 0.00013473195489495992,
                "maximum_seconds": 0.00016898880014196038,
                "samples_seconds": [
                  0.00014644328504800796,
                  0.00013473195489495992,
                  0.00016898880014196038,
                  0.00015248877491103486,
                  0.0001465072948485613
                ]
              },
              "warm_calls_per_second": 6825.598691407549
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": -3.79102727263963,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 1.971134366840488e-11,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00017819198546931148,
              "warm": {
                "median_seconds": 9.597752999980002e-05,
                "minimum_seconds": 9.064375015441328e-05,
                "maximum_seconds": 0.0001407614050549455,
                "samples_seconds": [
                  9.363199002109468e-05,
                  9.90446301875636e-05,
                  0.0001407614050549455,
                  9.597752999980002e-05,
                  9.064375015441328e-05
                ]
              },
              "warm_calls_per_second": 10419.105388543378
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 249688064,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.2787172300159
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 60,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.0857067329925485,
          "minimum_seconds": 0.07051462802337483,
          "maximum_seconds": 0.11952176899649203,
          "samples_seconds": [
            0.11952176899649203,
            0.08552171400515363,
            0.07051462802337483,
            0.0857067329925485,
            0.09382962196832523
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.028389644983690232,
          "minimum_seconds": 0.02078537701163441,
          "maximum_seconds": 0.05690252297790721,
          "samples_seconds": [
            0.030250807001721114,
            0.02078537701163441,
            0.05690252297790721,
            0.028389644983690232,
            0.024725684022996575
          ]
        },
        "backend_setup_seconds": 0.09789536602329463,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 7.291499059647322e-05,
              "warm": {
                "median_seconds": 3.458825492998585e-05,
                "minimum_seconds": 3.153851488605142e-05,
                "maximum_seconds": 4.04983849148266e-05,
                "samples_seconds": [
                  4.04983849148266e-05,
                  3.153851488605142e-05,
                  3.458825492998585e-05,
                  3.664930001832545e-05,
                  3.170485026203096e-05
                ]
              },
              "warm_calls_per_second": 28911.548212658243
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002874810015782714,
              "warm": {
                "median_seconds": 0.00011977054993622004,
                "minimum_seconds": 0.00011238716513616964,
                "maximum_seconds": 0.00017744632496032863,
                "samples_seconds": [
                  0.00017744632496032863,
                  0.0001355755250551738,
                  0.00011977054993622004,
                  0.0001140787749318406,
                  0.00011238716513616964
                ]
              },
              "warm_calls_per_second": 8349.297891113616
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001444990048184991,
              "warm": {
                "median_seconds": 8.630291995359585e-05,
                "minimum_seconds": 8.214578992919997e-05,
                "maximum_seconds": 9.868694527540356e-05,
                "samples_seconds": [
                  8.809440507320687e-05,
                  8.214578992919997e-05,
                  9.868694527540356e-05,
                  8.230515522882343e-05,
                  8.630291995359585e-05
                ]
              },
              "warm_calls_per_second": 11587.093467262628
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0010728100314736366,
              "warm": {
                "median_seconds": 0.001120418840146158,
                "minimum_seconds": 0.0010998387198196723,
                "maximum_seconds": 0.0011841642152285203,
                "samples_seconds": [
                  0.0010998387198196723,
                  0.0011208330749650486,
                  0.0011841642152285203,
                  0.0011032478799461386,
                  0.001120418840146158
                ]
              },
              "warm_calls_per_second": 892.5233708757974
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 64454656,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 2.6261342280195095
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 61,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.10520781198283657,
          "minimum_seconds": 0.07067004195414484,
          "maximum_seconds": 0.131778386014048,
          "samples_seconds": [
            0.10520781198283657,
            0.07067004195414484,
            0.11061904404778033,
            0.0876315450295806,
            0.131778386014048
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.022876829956658185,
          "minimum_seconds": 0.016331004968378693,
          "maximum_seconds": 0.12094832002185285,
          "samples_seconds": [
            0.12094832002185285,
            0.016331004968378693,
            0.022288833977654576,
            0.022876829956658185,
            0.026280185964424163
          ]
        },
        "backend_setup_seconds": 9.748805314302444e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 7.273495430126786e-05,
              "warm": {
                "median_seconds": 3.5526554856915024e-05,
                "minimum_seconds": 3.392796992557123e-05,
                "maximum_seconds": 4.0587859984952956e-05,
                "samples_seconds": [
                  3.5526554856915024e-05,
                  3.392796992557123e-05,
                  3.699242981383577e-05,
                  4.0587859984952956e-05,
                  3.4325514861848204e-05
                ]
              },
              "warm_calls_per_second": 28147.95873192743
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00041580299148336053,
              "warm": {
                "median_seconds": 0.00011378597526345402,
                "minimum_seconds": 0.00010013428516685962,
                "maximum_seconds": 0.00016208318003918976,
                "samples_seconds": [
                  0.00016208318003918976,
                  0.00015195749525446446,
                  0.00011378597526345402,
                  0.00010281298978952691,
                  0.00010013428516685962
                ]
              },
              "warm_calls_per_second": 8788.429309364823
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.410904021933675e-05,
              "warm": {
                "median_seconds": 7.035043003270403e-05,
                "minimum_seconds": 6.672482995782048e-05,
                "maximum_seconds": 7.339464500546455e-05,
                "samples_seconds": [
                  7.069443498039618e-05,
                  6.672482995782048e-05,
                  6.995792995439842e-05,
                  7.035043003270403e-05,
                  7.339464500546455e-05
                ]
              },
              "warm_calls_per_second": 14214.554190146768
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0010556899942457676,
              "warm": {
                "median_seconds": 0.0009122089899028652,
                "minimum_seconds": 0.0008986989400000311,
                "maximum_seconds": 0.000913594304875005,
                "samples_seconds": [
                  0.000913594304875005,
                  0.0009122337150620297,
                  0.0009039737199782394,
                  0.0008986989400000311,
                  0.0009122089899028652
                ]
              },
              "warm_calls_per_second": 1096.2400185361944
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 68849664,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 2.366474946960807
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 62,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.11336580099305138,
          "minimum_seconds": 0.0800702859996818,
          "maximum_seconds": 0.13831337599549443,
          "samples_seconds": [
            0.11950073600746691,
            0.0800702859996818,
            0.11336580099305138,
            0.0915330039570108,
            0.13831337599549443
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02474262600298971,
          "minimum_seconds": 0.016236155992373824,
          "maximum_seconds": 0.13272701000096276,
          "samples_seconds": [
            0.13272701000096276,
            0.016236155992373824,
            0.023726930026896298,
            0.02474262600298971,
            0.024839702993631363
          ]
        },
        "backend_setup_seconds": 0.7199373160256073,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17699154099682346,
              "first_evaluation_seconds": 0.0019476659945212305,
              "warm": {
                "median_seconds": 4.129547014599666e-05,
                "minimum_seconds": 3.381942486157641e-05,
                "maximum_seconds": 4.612255987012759e-05,
                "samples_seconds": [
                  4.612255987012759e-05,
                  4.379970981972292e-05,
                  4.129547014599666e-05,
                  3.903544013155624e-05,
                  3.381942486157641e-05
                ]
              },
              "warm_calls_per_second": 24215.731082963437
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18205485999351367,
              "first_evaluation_seconds": 0.0007643469725735486,
              "warm": {
                "median_seconds": 4.2910905031021684e-05,
                "minimum_seconds": 4.052411502925679e-05,
                "maximum_seconds": 4.602569504640997e-05,
                "samples_seconds": [
                  4.052411502925679e-05,
                  4.1014320158865304e-05,
                  4.38034301623702e-05,
                  4.2910905031021684e-05,
                  4.602569504640997e-05
                ]
              },
              "warm_calls_per_second": 23304.09948886111
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.17898607900133356,
              "first_evaluation_seconds": 0.0008522029966115952,
              "warm": {
                "median_seconds": 4.304283997043967e-05,
                "minimum_seconds": 4.002006986411288e-05,
                "maximum_seconds": 4.521620518062264e-05,
                "samples_seconds": [
                  4.304283997043967e-05,
                  4.500175506109372e-05,
                  4.280612978618592e-05,
                  4.521620518062264e-05,
                  4.002006986411288e-05
                ]
              },
              "warm_calls_per_second": 23232.66774884662
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18831107299774885,
              "first_evaluation_seconds": 0.000741336029022932,
              "warm": {
                "median_seconds": 4.141148994676769e-05,
                "minimum_seconds": 4.079781501786783e-05,
                "maximum_seconds": 4.234338994137943e-05,
                "samples_seconds": [
                  4.234338994137943e-05,
                  4.141148994676769e-05,
                  4.1229299968108534e-05,
                  4.079781501786783e-05,
                  4.205289005767554e-05
                ]
              },
              "warm_calls_per_second": 24147.887489328394
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 279883776,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.8587756239576265
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 63,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.08196871896507218,
          "minimum_seconds": 0.059461183031089604,
          "maximum_seconds": 0.11623903003055602,
          "samples_seconds": [
            0.11623903003055602,
            0.08196871896507218,
            0.059461183031089604,
            0.08348750899313018,
            0.07420691300649196
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02246400498552248,
          "minimum_seconds": 0.0178227880387567,
          "maximum_seconds": 0.05439198901876807,
          "samples_seconds": [
            0.030000058992300183,
            0.0178227880387567,
            0.05439198901876807,
            0.02246400498552248,
            0.01815660297870636
          ]
        },
        "backend_setup_seconds": 0.7873318659840152,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.19145519798621535,
              "first_evaluation_seconds": 0.00201372301671654,
              "warm": {
                "median_seconds": 4.5778689964208754e-05,
                "minimum_seconds": 4.230282997014001e-05,
                "maximum_seconds": 4.991201509255916e-05,
                "samples_seconds": [
                  4.298863495932892e-05,
                  4.230282997014001e-05,
                  4.669595015002414e-05,
                  4.991201509255916e-05,
                  4.5778689964208754e-05
                ]
              },
              "warm_calls_per_second": 21844.224917354168
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18998122698394582,
              "first_evaluation_seconds": 0.0007588040316477418,
              "warm": {
                "median_seconds": 4.696092481026426e-05,
                "minimum_seconds": 4.4957335048820824e-05,
                "maximum_seconds": 4.979117016773671e-05,
                "samples_seconds": [
                  4.5523389999289066e-05,
                  4.4957335048820824e-05,
                  4.8050250043161214e-05,
                  4.979117016773671e-05,
                  4.696092481026426e-05
                ]
              },
              "warm_calls_per_second": 21294.299548833198
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.18455244199139997,
              "first_evaluation_seconds": 0.0007380160386674106,
              "warm": {
                "median_seconds": 4.4480715005192905e-05,
                "minimum_seconds": 3.99567699059844e-05,
                "maximum_seconds": 4.6624770038761196e-05,
                "samples_seconds": [
                  4.4480715005192905e-05,
                  4.2990100046154114e-05,
                  4.6259684895630924e-05,
                  3.99567699059844e-05,
                  4.6624770038761196e-05
                ]
              },
              "warm_calls_per_second": 22481.653001379473
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.22068609402049333,
              "first_evaluation_seconds": 0.0007578239892609417,
              "warm": {
                "median_seconds": 4.774629516759887e-05,
                "minimum_seconds": 4.2396500066388396e-05,
                "maximum_seconds": 5.21623800159432e-05,
                "samples_seconds": [
                  4.2396500066388396e-05,
                  4.9367184983566405e-05,
                  4.774629516759887e-05,
                  4.462665499886498e-05,
                  5.21623800159432e-05
                ]
              },
              "warm_calls_per_second": 20944.033384994662
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 274440192,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 6.954254830023274
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 64,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.08594421402085572,
          "minimum_seconds": 0.06751578801777214,
          "maximum_seconds": 0.12402892200043425,
          "samples_seconds": [
            0.12402892200043425,
            0.0865590350003913,
            0.06751578801777214,
            0.08594421402085572,
            0.0801306720240973
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.02234706497984007,
          "minimum_seconds": 0.019030993978958577,
          "maximum_seconds": 0.05589623103151098,
          "samples_seconds": [
            0.029904258030001074,
            0.021988531982060522,
            0.05589623103151098,
            0.02234706497984007,
            0.019030993978958577
          ]
        },
        "backend_setup_seconds": 1.7943013299955055,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001279090065509081,
              "warm": {
                "median_seconds": 5.2981360058765856e-05,
                "minimum_seconds": 4.610450007021427e-05,
                "maximum_seconds": 5.426992487628013e-05,
                "samples_seconds": [
                  5.2981360058765856e-05,
                  5.426992487628013e-05,
                  5.2263984980527314e-05,
                  5.329204985173419e-05,
                  4.610450007021427e-05
                ]
              },
              "warm_calls_per_second": 18874.562655447506
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00044333399273455143,
              "warm": {
                "median_seconds": 0.00014016436995007098,
                "minimum_seconds": 0.00012689742987276987,
                "maximum_seconds": 0.0001654136349679902,
                "samples_seconds": [
                  0.0001654136349679902,
                  0.00012873200990725308,
                  0.00014016436995007098,
                  0.00012689742987276987,
                  0.0001465470902621746
                ]
              },
              "warm_calls_per_second": 7134.48075538896
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00019864400383085012,
              "warm": {
                "median_seconds": 9.142556984443218e-05,
                "minimum_seconds": 8.531636005500332e-05,
                "maximum_seconds": 0.0007696398097323254,
                "samples_seconds": [
                  0.00010058471496449784,
                  8.531636005500332e-05,
                  9.142556984443218e-05,
                  8.99424499948509e-05,
                  0.0007696398097323254
                ]
              },
              "warm_calls_per_second": 10937.859088016394
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.000825212977360934,
              "warm": {
                "median_seconds": 0.00034106847509974615,
                "minimum_seconds": 0.00025898500985931604,
                "maximum_seconds": 0.00045582207007100807,
                "samples_seconds": [
                  0.00041045155492611227,
                  0.00045582207007100807,
                  0.00034106847509974615,
                  0.00025898500985931604,
                  0.00026590609486447646
                ]
              },
              "warm_calls_per_second": 2931.962561792168
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 254205952,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.481850906973705
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 65,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": {
          "median_seconds": 0.10220905399182811,
          "minimum_seconds": 0.06813726603286341,
          "maximum_seconds": 0.15473596897209063,
          "samples_seconds": [
            0.10220905399182811,
            0.06813726603286341,
            0.1156142660183832,
            0.09740689804311842,
            0.15473596897209063
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.026143595983739942,
          "minimum_seconds": 0.01439783297246322,
          "maximum_seconds": 0.11861103598494083,
          "samples_seconds": [
            0.11861103598494083,
            0.01439783297246322,
            0.025308688986115158,
            0.028338681033346802,
            0.026143595983739942
          ]
        },
        "backend_setup_seconds": 1.7484397970256396,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00013085897080600262,
              "warm": {
                "median_seconds": 5.0882744835689665e-05,
                "minimum_seconds": 4.853213496971875e-05,
                "maximum_seconds": 5.245707521680742e-05,
                "samples_seconds": [
                  5.0882744835689665e-05,
                  5.2158320031594485e-05,
                  5.245707521680742e-05,
                  5.0131019961554557e-05,
                  4.853213496971875e-05
                ]
              },
              "warm_calls_per_second": 19653.027823659977
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003899820148944855,
              "warm": {
                "median_seconds": 0.00013012954499572516,
                "minimum_seconds": 0.00012729526992188766,
                "maximum_seconds": 0.00015067387983435764,
                "samples_seconds": [
                  0.00015067387983435764,
                  0.00012906728021334858,
                  0.00013012954499572516,
                  0.00014216259005479516,
                  0.00012729526992188766
                ]
              },
              "warm_calls_per_second": 7684.649938896279
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00015463103773072362,
              "warm": {
                "median_seconds": 9.288383007515222e-05,
                "minimum_seconds": 8.875869010807947e-05,
                "maximum_seconds": 9.827855508774519e-05,
                "samples_seconds": [
                  8.875869010807947e-05,
                  9.827855508774519e-05,
                  9.76481000543572e-05,
                  9.288383007515222e-05,
                  9.136397013207897e-05
                ]
              },
              "warm_calls_per_second": 10766.136572866353
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13270.584032874418,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 2.1780579118058085e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00040404300671070814,
              "warm": {
                "median_seconds": 0.00025444399507250636,
                "minimum_seconds": 0.0002469142750487663,
                "maximum_seconds": 0.00026994334999471905,
                "samples_seconds": [
                  0.0002576900998246856,
                  0.00026994334999471905,
                  0.0002469142750487663,
                  0.00025444399507250636,
                  0.0002482050901744515
                ]
              },
              "warm_calls_per_second": 3930.1379453464406
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 262950912,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 4.329611702996772
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 66,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.13222322601359338,
          "minimum_seconds": 0.10399933601729572,
          "maximum_seconds": 0.14140736497938633,
          "samples_seconds": [
            0.1377793419524096,
            0.10399933601729572,
            0.14140736497938633,
            0.10862442397046834,
            0.13222322601359338
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.00867450499208644,
          "minimum_seconds": 0.007829212991055101,
          "maximum_seconds": 0.12349618697771803,
          "samples_seconds": [
            0.12349618697771803,
            0.00797931500710547,
            0.00867450499208644,
            0.011693407024722546,
            0.007829212991055101
          ]
        },
        "backend_setup_seconds": 8.21020221337676e-05,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016713200602680445,
              "warm": {
                "median_seconds": 5.0742110179271546e-05,
                "minimum_seconds": 4.5722160139121114e-05,
                "maximum_seconds": 6.160218501463532e-05,
                "samples_seconds": [
                  4.594795493176207e-05,
                  5.0742110179271546e-05,
                  4.5722160139121114e-05,
                  6.160218501463532e-05,
                  5.6527320120949296e-05
                ]
              },
              "warm_calls_per_second": 19707.4973127252
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0002592900418676436,
              "warm": {
                "median_seconds": 0.0001232967249234207,
                "minimum_seconds": 0.00010304255498340353,
                "maximum_seconds": 0.0001518705501803197,
                "samples_seconds": [
                  0.0001518705501803197,
                  0.0001240065900492482,
                  0.0001083743100753054,
                  0.0001232967249234207,
                  0.00010304255498340353
                ]
              },
              "warm_calls_per_second": 8110.515511430637
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00013053196016699076,
              "warm": {
                "median_seconds": 8.093040494713932e-05,
                "minimum_seconds": 7.678656023927033e-05,
                "maximum_seconds": 9.403483010828495e-05,
                "samples_seconds": [
                  8.34383600158617e-05,
                  9.403483010828495e-05,
                  8.093040494713932e-05,
                  7.75602349312976e-05,
                  7.678656023927033e-05
                ]
              },
              "warm_calls_per_second": 12356.295519009971
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 67432448,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.6370945270173252
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 67,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.08929352299310267,
          "minimum_seconds": 0.06903359200805426,
          "maximum_seconds": 0.10897917702095583,
          "samples_seconds": [
            0.1071471719769761,
            0.08929352299310267,
            0.06903359200805426,
            0.10897917702095583,
            0.08535777602810413
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.007080812007188797,
          "minimum_seconds": 0.005572878988459706,
          "maximum_seconds": 0.013100194977596402,
          "samples_seconds": [
            0.013100194977596402,
            0.006351154006551951,
            0.005572878988459706,
            0.007927988946903497,
            0.007080812007188797
          ]
        },
        "backend_setup_seconds": 0.09131056000478566,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 9.999499889090657e-05,
              "warm": {
                "median_seconds": 3.8156835071276877e-05,
                "minimum_seconds": 3.656899003544822e-05,
                "maximum_seconds": 4.158886498771608e-05,
                "samples_seconds": [
                  3.9074840024113656e-05,
                  3.8156835071276877e-05,
                  4.158886498771608e-05,
                  3.6781419767066835e-05,
                  3.656899003544822e-05
                ]
              },
              "warm_calls_per_second": 26207.62435175775
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003048679791390896,
              "warm": {
                "median_seconds": 0.00012361885979771613,
                "minimum_seconds": 0.00011379776988178492,
                "maximum_seconds": 0.00013886053493479268,
                "samples_seconds": [
                  0.00013886053493479268,
                  0.00012361885979771613,
                  0.00011379776988178492,
                  0.00012352846504654736,
                  0.00012566388497361913
                ]
              },
              "warm_calls_per_second": 8089.38054950799
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00011089799227192998,
              "warm": {
                "median_seconds": 8.56938399374485e-05,
                "minimum_seconds": 8.345615991856902e-05,
                "maximum_seconds": 8.949154493166133e-05,
                "samples_seconds": [
                  8.624351001344621e-05,
                  8.456219977233559e-05,
                  8.345615991856902e-05,
                  8.56938399374485e-05,
                  8.949154493166133e-05
                ]
              },
              "warm_calls_per_second": 11669.450228043715
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 64069632,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.35178689903114
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 68,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.0886912650312297,
          "minimum_seconds": 0.06377449602587149,
          "maximum_seconds": 0.11760230700019747,
          "samples_seconds": [
            0.11760230700019747,
            0.08868084102869034,
            0.06377449602587149,
            0.11172648298088461,
            0.0886912650312297
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.006730646011419594,
          "minimum_seconds": 0.005250746035017073,
          "maximum_seconds": 0.013056806987151504,
          "samples_seconds": [
            0.013056806987151504,
            0.006730646011419594,
            0.005250746035017073,
            0.008142952981870621,
            0.006651198025792837
          ]
        },
        "backend_setup_seconds": 0.6600308879860677,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.21919543598778546,
              "first_evaluation_seconds": 0.002122933976352215,
              "warm": {
                "median_seconds": 4.796398017788306e-05,
                "minimum_seconds": 4.396815493237227e-05,
                "maximum_seconds": 5.0066914991475644e-05,
                "samples_seconds": [
                  4.4653264922089875e-05,
                  4.796398017788306e-05,
                  4.396815493237227e-05,
                  5.0066914991475644e-05,
                  4.849367483984679e-05
                ]
              },
              "warm_calls_per_second": 20848.978677151477
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.21892243099864572,
              "first_evaluation_seconds": 0.0007935879984870553,
              "warm": {
                "median_seconds": 4.4490119908004996e-05,
                "minimum_seconds": 4.386247979709879e-05,
                "maximum_seconds": 4.629769478924572e-05,
                "samples_seconds": [
                  4.629769478924572e-05,
                  4.4490119908004996e-05,
                  4.427668987773359e-05,
                  4.600580490659922e-05,
                  4.386247979709879e-05
                ]
              },
              "warm_calls_per_second": 22476.90053584397
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.2243198219803162,
              "first_evaluation_seconds": 0.0007572540198452771,
              "warm": {
                "median_seconds": 4.5507384929805996e-05,
                "minimum_seconds": 4.340894491178915e-05,
                "maximum_seconds": 4.845436487812549e-05,
                "samples_seconds": [
                  4.845436487812549e-05,
                  4.585585498716682e-05,
                  4.5507384929805996e-05,
                  4.340894491178915e-05,
                  4.4655005040112884e-05
                ]
              },
              "warm_calls_per_second": 21974.455388778657
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 268726272,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.512754348979797
    },
    {
      "case": {
        "backend": "jax",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 69,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "jax",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.08663985005114228,
          "minimum_seconds": 0.07520278304582462,
          "maximum_seconds": 0.1101009999983944,
          "samples_seconds": [
            0.1101009999983944,
            0.07520278304582462,
            0.10654388699913397,
            0.08663985005114228,
            0.08195961097953841
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.007231936964672059,
          "minimum_seconds": 0.0051514499937184155,
          "maximum_seconds": 0.10254838800756261,
          "samples_seconds": [
            0.10254838800756261,
            0.0051514499937184155,
            0.007231936964672059,
            0.007986576994881034,
            0.006894381949678063
          ]
        },
        "backend_setup_seconds": 0.7758376690326259,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.2175155999721028,
              "first_evaluation_seconds": 0.002000025997404009,
              "warm": {
                "median_seconds": 4.6974404831416905e-05,
                "minimum_seconds": 4.394838499138132e-05,
                "maximum_seconds": 4.706560983322561e-05,
                "samples_seconds": [
                  4.7012055001687256e-05,
                  4.672379523981362e-05,
                  4.706560983322561e-05,
                  4.6974404831416905e-05,
                  4.394838499138132e-05
                ]
              },
              "warm_calls_per_second": 21288.188825144858
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.23064130096463487,
              "first_evaluation_seconds": 0.0007901639910414815,
              "warm": {
                "median_seconds": 4.617245518602431e-05,
                "minimum_seconds": 4.419104021508247e-05,
                "maximum_seconds": 4.7626055020373316e-05,
                "samples_seconds": [
                  4.501466493820772e-05,
                  4.755100497277454e-05,
                  4.419104021508247e-05,
                  4.7626055020373316e-05,
                  4.617245518602431e-05
                ]
              },
              "warm_calls_per_second": 21657.93428075457
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524506,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.14005795493722e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": 0.2219277240219526,
              "first_evaluation_seconds": 0.0007837499724701047,
              "warm": {
                "median_seconds": 4.5634210109710694e-05,
                "minimum_seconds": 4.440712509676814e-05,
                "maximum_seconds": 5.024455487728119e-05,
                "samples_seconds": [
                  4.761171003337949e-05,
                  4.50849998742342e-05,
                  4.5634210109710694e-05,
                  5.024455487728119e-05,
                  4.440712509676814e-05
                ]
              },
              "warm_calls_per_second": 21913.384664616027
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 274194432,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "0.12.0",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 5.681485473993234
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 2,
      "mode": "timing",
      "order": 70,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.09297933097695932,
          "minimum_seconds": 0.08398767095059156,
          "maximum_seconds": 0.12464764597825706,
          "samples_seconds": [
            0.11059328098781407,
            0.08398767095059156,
            0.12464764597825706,
            0.09297933097695932,
            0.0902920889784582
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.007830034010112286,
          "minimum_seconds": 0.006118598044849932,
          "maximum_seconds": 0.10943573998520151,
          "samples_seconds": [
            0.10943573998520151,
            0.006118598044849932,
            0.007830034010112286,
            0.008068847004324198,
            0.007703851035330445
          ]
        },
        "backend_setup_seconds": 1.6343810810358264,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00013717298861593008,
              "warm": {
                "median_seconds": 6.013373000314459e-05,
                "minimum_seconds": 4.9709294980857525e-05,
                "maximum_seconds": 6.42905299901031e-05,
                "samples_seconds": [
                  6.220258481334895e-05,
                  6.013373000314459e-05,
                  6.42905299901031e-05,
                  5.829496018122882e-05,
                  4.9709294980857525e-05
                ]
              },
              "warm_calls_per_second": 16629.602054416162
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00037550501292571425,
              "warm": {
                "median_seconds": 0.000145982860121876,
                "minimum_seconds": 0.00014419839018955827,
                "maximum_seconds": 0.00015385683480417355,
                "samples_seconds": [
                  0.00015385683480417355,
                  0.0001452012249501422,
                  0.0001471572951413691,
                  0.00014419839018955827,
                  0.000145982860121876
                ]
              },
              "warm_calls_per_second": 6850.119248007162
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00014417897909879684,
              "warm": {
                "median_seconds": 9.155205509159714e-05,
                "minimum_seconds": 8.951836993219331e-05,
                "maximum_seconds": 9.797479986445979e-05,
                "samples_seconds": [
                  9.797479986445979e-05,
                  9.155205509159714e-05,
                  9.019026008900256e-05,
                  8.951836993219331e-05,
                  9.445315488846972e-05
                ]
              },
              "warm_calls_per_second": 10922.747708934632
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 261844992,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.918950474006124
    },
    {
      "case": {
        "backend": "torch",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 2,
      "mode": "timing",
      "order": 71,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "torch",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": {
          "median_seconds": 0.09161639300873503,
          "minimum_seconds": 0.08306010003434494,
          "maximum_seconds": 0.1250905380002223,
          "samples_seconds": [
            0.10697750101098791,
            0.09161639300873503,
            0.08306010003434494,
            0.1250905380002223,
            0.0903417490189895
          ]
        },
        "compile_rhs": {
          "median_seconds": 0.008062692999374121,
          "minimum_seconds": 0.007187484006863087,
          "maximum_seconds": 0.01314176496816799,
          "samples_seconds": [
            0.01314176496816799,
            0.007187484006863087,
            0.008062692999374121,
            0.007607004954479635,
            0.008262959017883986
          ]
        },
        "backend_setup_seconds": 1.71809524303535,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0001477799960412085,
              "warm": {
                "median_seconds": 5.840220517711714e-05,
                "minimum_seconds": 5.5615404853597284e-05,
                "maximum_seconds": 6.0834449832327665e-05,
                "samples_seconds": [
                  5.840220517711714e-05,
                  5.936551984632388e-05,
                  6.0834449832327665e-05,
                  5.5615404853597284e-05,
                  5.789198010461405e-05
                ]
              },
              "warm_calls_per_second": 17122.641122322126
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.0003425430040806532,
              "warm": {
                "median_seconds": 0.00014850198989734052,
                "minimum_seconds": 0.00013582401996245608,
                "maximum_seconds": 0.0001708830552524887,
                "samples_seconds": [
                  0.0001708830552524887,
                  0.0001468759251292795,
                  0.0001601323700742796,
                  0.00014850198989734052,
                  0.00013582401996245608
                ]
              },
              "warm_calls_per_second": 6733.916499646236
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": -13295.724978524508,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": 9.139876055996865e-08,
            "gain_derivative_step": 1e-05,
            "timings": {
              "cold_jit_seconds": null,
              "first_evaluation_seconds": 0.00016641599358990788,
              "warm": {
                "median_seconds": 9.443037997698411e-05,
                "minimum_seconds": 8.870465506333858e-05,
                "maximum_seconds": 0.00010365174006437883,
                "samples_seconds": [
                  0.00010365174006437883,
                  9.719442023197189e-05,
                  9.35737948748283e-05,
                  9.443037997698411e-05,
                  8.870465506333858e-05
                ]
              },
              "warm_calls_per_second": 10589.812306629858
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 253075456,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.14.1+cpu",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            },
            {
              "internal_api": "openmp",
              "num_threads": 1,
              "version": null,
              "prefix": "libgomp"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.878755775047466
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "profile",
      "order": 72,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.039645472,
              "total_calls": 27001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.020801713000000003,
                  "cumulative_seconds": 0.038808378000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003509588,
                  "cumulative_seconds": 0.003509588
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003148263,
                  "cumulative_seconds": 0.007103182
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002485067,
                  "cumulative_seconds": 0.009969144000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002094687,
                  "cumulative_seconds": 0.002094687
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001432467,
                  "cumulative_seconds": 0.007052315000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001061639,
                  "cumulative_seconds": 0.003525161
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000802801,
                  "cumulative_seconds": 0.000802801
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008013670000000001,
                  "cumulative_seconds": 0.039609745
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0006782050000000001,
                  "cumulative_seconds": 0.0006782050000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000641987,
                  "cumulative_seconds": 0.00168394
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0006103300000000001,
                  "cumulative_seconds": 0.00229427
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00044533100000000004,
                  "cumulative_seconds": 0.00044533100000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000380895,
                  "cumulative_seconds": 0.000380895
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000307001,
                  "cumulative_seconds": 0.000307001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00023915200000000002,
                  "cumulative_seconds": 0.00023915200000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000169252,
                  "cumulative_seconds": 0.000169252
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 3.5727000000000005e-05,
                  "cumulative_seconds": 3.5727000000000005e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.21877896300000002,
              "total_calls": 306001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1233,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.027877138000000003,
                  "cumulative_seconds": 0.185852976
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.025093853000000003,
                  "cumulative_seconds": 0.038419819
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.009929797,
                  "cumulative_seconds": 0.034117587000000005
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009846319000000001,
                  "cumulative_seconds": 0.21874554200000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.009828416000000001,
                  "cumulative_seconds": 0.009828416000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009007447,
                  "cumulative_seconds": 0.014040171
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007405143,
                  "cumulative_seconds": 0.044275039
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007352061000000001,
                  "cumulative_seconds": 0.017694644000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.007328666,
                  "cumulative_seconds": 0.007328666
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.007317767,
                  "cumulative_seconds": 0.019035927
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0071963520000000005,
                  "cumulative_seconds": 0.019211202
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006116010000000001,
                  "cumulative_seconds": 0.022610843000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.005779841,
                  "cumulative_seconds": 0.005779841
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005762276,
                  "cumulative_seconds": 0.056304388000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0046466960000000005,
                  "cumulative_seconds": 0.006564518
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004309914000000001,
                  "cumulative_seconds": 0.018382583
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0038757670000000004,
                  "cumulative_seconds": 0.0038757670000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0035166150000000003,
                  "cumulative_seconds": 0.005804717
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0034814470000000004,
                  "cumulative_seconds": 0.008500926
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0032692940000000003,
                  "cumulative_seconds": 0.005012244
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003199279,
                  "cumulative_seconds": 0.010911742
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002735024,
                  "cumulative_seconds": 0.008248308000000001
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0027228620000000004,
                  "cumulative_seconds": 0.041142681
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002685872,
                  "cumulative_seconds": 0.002685872
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0026560670000000002,
                  "cumulative_seconds": 0.0026560670000000002
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0026012540000000003,
                  "cumulative_seconds": 0.003782554
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.002288102,
                  "cumulative_seconds": 0.002288102
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001951968,
                  "cumulative_seconds": 0.002952989
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0019426970000000002,
                  "cumulative_seconds": 0.0019426970000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0018372260000000002,
                  "cumulative_seconds": 0.0018372260000000002
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0016645520000000001,
                  "cumulative_seconds": 0.002470911
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0015769470000000002,
                  "cumulative_seconds": 0.0015769470000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.0015341360000000002,
                  "cumulative_seconds": 0.0015341360000000002
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014388250000000001,
                  "cumulative_seconds": 0.001917822
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0013661810000000002,
                  "cumulative_seconds": 0.0013661810000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001339317,
                  "cumulative_seconds": 0.005343405000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0013025970000000002,
                  "cumulative_seconds": 0.0013025970000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.001163016,
                  "cumulative_seconds": 0.001163016
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0010010210000000002,
                  "cumulative_seconds": 0.0010010210000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009686100000000001,
                  "cumulative_seconds": 0.006807985000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.146705641,
              "total_calls": 205001,
              "top_self_time": [
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.02196713,
                  "cumulative_seconds": 0.033876811
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1366,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.018758521,
                  "cumulative_seconds": 0.14450896900000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.007833310000000001,
                  "cumulative_seconds": 0.012317275
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.006512914000000001,
                  "cumulative_seconds": 0.017365999
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.006290774000000001,
                  "cumulative_seconds": 0.006290774000000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.004894511000000001,
                  "cumulative_seconds": 0.049904027000000004
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004665328000000001,
                  "cumulative_seconds": 0.011746422000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004090342,
                  "cumulative_seconds": 0.016458709000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.004047671,
                  "cumulative_seconds": 0.005857729000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0035810440000000002,
                  "cumulative_seconds": 0.0035810440000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.003171805,
                  "cumulative_seconds": 0.005247244000000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003125796,
                  "cumulative_seconds": 0.007633984000000001
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0029065550000000003,
                  "cumulative_seconds": 0.009721725
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002902668,
                  "cumulative_seconds": 0.0044941550000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002504119,
                  "cumulative_seconds": 0.002504119
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0024643010000000003,
                  "cumulative_seconds": 0.008100301
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0024164710000000003,
                  "cumulative_seconds": 0.036293282
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002356248,
                  "cumulative_seconds": 0.0071768710000000005
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0023178310000000002,
                  "cumulative_seconds": 0.0034128780000000003
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0022938620000000002,
                  "cumulative_seconds": 0.0022938620000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0022744650000000003,
                  "cumulative_seconds": 0.0022744650000000003
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0021638480000000003,
                  "cumulative_seconds": 0.146672817
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002133135,
                  "cumulative_seconds": 0.00489713
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.002075439,
                  "cumulative_seconds": 0.002075439
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0020416,
                  "cumulative_seconds": 0.012715139
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001776285,
                  "cumulative_seconds": 0.001776285
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.001710492,
                  "cumulative_seconds": 0.001710492
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001693754,
                  "cumulative_seconds": 0.002550765
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.001641094,
                  "cumulative_seconds": 0.001641094
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0014353480000000001,
                  "cumulative_seconds": 0.005256918
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001426626,
                  "cumulative_seconds": 0.002096235
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0013519010000000002,
                  "cumulative_seconds": 0.001810058
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0012375390000000002,
                  "cumulative_seconds": 0.004914547
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0011965930000000001,
                  "cumulative_seconds": 0.0011965930000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0011839320000000002,
                  "cumulative_seconds": 0.0011839320000000002
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008851950000000001,
                  "cumulative_seconds": 0.0025732380000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000870414,
                  "cumulative_seconds": 0.000870414
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0008570110000000001,
                  "cumulative_seconds": 0.0008570110000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0008238960000000001,
                  "cumulative_seconds": 0.0008238960000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0007903200000000001,
                  "cumulative_seconds": 0.0007903200000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.566375983,
              "total_calls": 743001,
              "top_self_time": [
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.07546923500000001,
                  "cumulative_seconds": 0.11285900600000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1366,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.071781364,
                  "cumulative_seconds": 0.518758485
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.029772748,
                  "cumulative_seconds": 0.048449731
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.022475942000000002,
                  "cumulative_seconds": 0.022475942000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.020924856000000002,
                  "cumulative_seconds": 0.063720434
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 24000,
                  "total_calls": 24000,
                  "self_seconds": 0.019642990000000003,
                  "cumulative_seconds": 0.181811835
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.018570107000000002,
                  "cumulative_seconds": 0.044086133
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.016143473000000002,
                  "cumulative_seconds": 0.06268702200000001
                },
                {
                  "module": "numpy/_core/shape_base.py",
                  "line": 378,
                  "function": "stack",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.015338219,
                  "cumulative_seconds": 0.018289104
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 103,
                  "function": "blocks",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.014644938000000001,
                  "cumulative_seconds": 0.566341125
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.013999732,
                  "cumulative_seconds": 0.019872293000000003
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.013270213000000001,
                  "cumulative_seconds": 0.031749626
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.011380629000000001,
                  "cumulative_seconds": 0.017784521
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.011008389,
                  "cumulative_seconds": 0.011008389
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 52000,
                  "total_calls": 52000,
                  "self_seconds": 0.010109549,
                  "cumulative_seconds": 0.010109549
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 104,
                  "function": "one",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.009918946000000001,
                  "cumulative_seconds": 0.5286774310000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.009710248000000001,
                  "cumulative_seconds": 0.026233352
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.009684878000000001,
                  "cumulative_seconds": 0.032477787
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.009478901000000001,
                  "cumulative_seconds": 0.013844511
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.0092253,
                  "cumulative_seconds": 0.014297517000000001
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.008686392000000001,
                  "cumulative_seconds": 0.12154539800000001
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.007453956,
                  "cumulative_seconds": 0.024208768000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.006793354000000001,
                  "cumulative_seconds": 0.015927731
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.00676779,
                  "cumulative_seconds": 0.041722809
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.006713186,
                  "cumulative_seconds": 0.006713186
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 40000,
                  "total_calls": 40000,
                  "self_seconds": 0.006645459,
                  "cumulative_seconds": 0.006645459
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.006136104000000001,
                  "cumulative_seconds": 0.006136104000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.006043753000000001,
                  "cumulative_seconds": 0.006043753000000001
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.005804028,
                  "cumulative_seconds": 0.008706273
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.005347748,
                  "cumulative_seconds": 0.005347748
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.005074919000000001,
                  "cumulative_seconds": 0.020596259000000002
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 40000,
                  "total_calls": 40000,
                  "self_seconds": 0.005072217,
                  "cumulative_seconds": 0.005072217
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004966446,
                  "cumulative_seconds": 0.004966446
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.0047663340000000005,
                  "cumulative_seconds": 0.006962851000000001
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.004427263,
                  "cumulative_seconds": 0.005872561
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.004382717,
                  "cumulative_seconds": 0.015713104000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.004207642,
                  "cumulative_seconds": 0.004207642
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.004011473000000001,
                  "cumulative_seconds": 0.004011473000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003604987,
                  "cumulative_seconds": 0.010746251
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.0035377560000000004,
                  "cumulative_seconds": 0.0035377560000000004
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 59625472,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.6026706320117228
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "profile",
      "order": 73,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 807,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 280,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.041140604,
              "total_calls": 27001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.021678922,
                  "cumulative_seconds": 0.040289077
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.004006399,
                  "cumulative_seconds": 0.004006399
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0030063620000000003,
                  "cumulative_seconds": 0.007495058000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002547671,
                  "cumulative_seconds": 0.010435098
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002324013,
                  "cumulative_seconds": 0.002324013
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001453574,
                  "cumulative_seconds": 0.007205235000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001053144,
                  "cumulative_seconds": 0.003427648
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008072330000000001,
                  "cumulative_seconds": 0.041096310000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007119520000000001,
                  "cumulative_seconds": 0.0007119520000000001
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000660875,
                  "cumulative_seconds": 0.000660875
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000643564,
                  "cumulative_seconds": 0.001587997
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0006204730000000001,
                  "cumulative_seconds": 0.00220847
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000482297,
                  "cumulative_seconds": 0.000482297
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00039236900000000005,
                  "cumulative_seconds": 0.00039236900000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000308947,
                  "cumulative_seconds": 0.000308947
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000232481,
                  "cumulative_seconds": 0.000232481
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00016603400000000002,
                  "cumulative_seconds": 0.00016603400000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 4.4294e-05,
                  "cumulative_seconds": 4.4294e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.171738887,
              "total_calls": 247001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1236,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.024755866,
                  "cumulative_seconds": 0.14132328200000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.009646577,
                  "cumulative_seconds": 0.009646577
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.009520308,
                  "cumulative_seconds": 0.031170461000000003
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009328453,
                  "cumulative_seconds": 0.17170649400000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.008316941000000001,
                  "cumulative_seconds": 0.013091962
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.007205127,
                  "cumulative_seconds": 0.018686264
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.006963711,
                  "cumulative_seconds": 0.015440885000000001
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.006901759,
                  "cumulative_seconds": 0.040706463000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.006614429000000001,
                  "cumulative_seconds": 0.018271046000000003
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.006267995,
                  "cumulative_seconds": 0.007759800000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0058208,
                  "cumulative_seconds": 0.020128485
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0057489030000000005,
                  "cumulative_seconds": 0.0057489030000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.005191124,
                  "cumulative_seconds": 0.005191124
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005180404,
                  "cumulative_seconds": 0.053185936
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0040932040000000005,
                  "cumulative_seconds": 0.017738936
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003620439,
                  "cumulative_seconds": 0.003620439
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0032556440000000002,
                  "cumulative_seconds": 0.007941183000000001
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003149488,
                  "cumulative_seconds": 0.010338552
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003100727,
                  "cumulative_seconds": 0.004720129
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0030643890000000003,
                  "cumulative_seconds": 0.004892131
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0025472520000000003,
                  "cumulative_seconds": 0.0077364190000000005
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0024939320000000004,
                  "cumulative_seconds": 0.0024939320000000004
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0024152830000000003,
                  "cumulative_seconds": 0.003530276
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002376516,
                  "cumulative_seconds": 0.002376516
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0017011910000000001,
                  "cumulative_seconds": 0.0017011910000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0015349970000000002,
                  "cumulative_seconds": 0.002296933
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0015216680000000001,
                  "cumulative_seconds": 0.0015216680000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0014918050000000001,
                  "cumulative_seconds": 0.0014918050000000001
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0013859150000000002,
                  "cumulative_seconds": 0.001827742
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.001360298,
                  "cumulative_seconds": 0.001360298
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0013052410000000002,
                  "cumulative_seconds": 0.00505433
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001288927,
                  "cumulative_seconds": 0.001288927
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.001111164,
                  "cumulative_seconds": 0.001111164
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009835290000000001,
                  "cumulative_seconds": 0.006252864
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000905822,
                  "cumulative_seconds": 0.002634243
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000880173,
                  "cumulative_seconds": 0.000880173
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000819046,
                  "cumulative_seconds": 0.0009219030000000001
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000773005,
                  "cumulative_seconds": 0.005594593
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0007619360000000001,
                  "cumulative_seconds": 0.0007619360000000001
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000653907,
                  "cumulative_seconds": 0.0053740360000000004
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.113121334,
              "total_calls": 146001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1369,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.016870968,
                  "cumulative_seconds": 0.11090908000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0076688400000000006,
                  "cumulative_seconds": 0.012185533
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.006953952,
                  "cumulative_seconds": 0.006953952
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.006664894,
                  "cumulative_seconds": 0.017906703
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005657402000000001,
                  "cumulative_seconds": 0.007102462
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0047846040000000005,
                  "cumulative_seconds": 0.049768145
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00454007,
                  "cumulative_seconds": 0.012339815
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0038684690000000002,
                  "cumulative_seconds": 0.016801934
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0033613460000000003,
                  "cumulative_seconds": 0.0033613460000000003
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0030066150000000002,
                  "cumulative_seconds": 0.007391413
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002861517,
                  "cumulative_seconds": 0.009590154
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002855737,
                  "cumulative_seconds": 0.004414579
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002795484,
                  "cumulative_seconds": 0.004504125
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002414654,
                  "cumulative_seconds": 0.002414654
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0023832750000000002,
                  "cumulative_seconds": 0.007145052000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.002324395,
                  "cumulative_seconds": 0.007417108
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002211937,
                  "cumulative_seconds": 0.002211937
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002206822,
                  "cumulative_seconds": 0.0032660090000000003
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002180146,
                  "cumulative_seconds": 0.113089226
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00217297,
                  "cumulative_seconds": 0.00217297
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002003976,
                  "cumulative_seconds": 0.004518626
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001996569,
                  "cumulative_seconds": 0.012063864
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.001563228,
                  "cumulative_seconds": 0.001563228
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014649740000000002,
                  "cumulative_seconds": 0.002224512
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0014450600000000002,
                  "cumulative_seconds": 0.0014450600000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0014008570000000001,
                  "cumulative_seconds": 0.0014008570000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0013623650000000001,
                  "cumulative_seconds": 0.004739409
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00128267,
                  "cumulative_seconds": 0.0017086410000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001212434,
                  "cumulative_seconds": 0.00473795
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001056662,
                  "cumulative_seconds": 0.001056662
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009064710000000001,
                  "cumulative_seconds": 0.002650187
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000862563,
                  "cumulative_seconds": 0.000862563
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0008595320000000001,
                  "cumulative_seconds": 0.0008595320000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0008457930000000001,
                  "cumulative_seconds": 0.0008457930000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000769873,
                  "cumulative_seconds": 0.0008743170000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000759538,
                  "cumulative_seconds": 0.000759538
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0006956950000000001,
                  "cumulative_seconds": 0.0051351750000000005
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1410,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0006004350000000001,
                  "cumulative_seconds": 0.0006004350000000001
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000572992,
                  "cumulative_seconds": 0.0049875710000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0005130040000000001,
                  "cumulative_seconds": 0.0005130040000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 0.0,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7346516320369,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.460230234,
              "total_calls": 563001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1369,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.064290423,
                  "cumulative_seconds": 0.412918869
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.030549867,
                  "cumulative_seconds": 0.050170502000000006
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.02391365,
                  "cumulative_seconds": 0.02391365
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.021665816,
                  "cumulative_seconds": 0.06700711100000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 24000,
                  "total_calls": 24000,
                  "self_seconds": 0.019762457,
                  "cumulative_seconds": 0.18539389
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.019720806,
                  "cumulative_seconds": 0.024462546
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.019216404000000003,
                  "cumulative_seconds": 0.046355088
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.016393689,
                  "cumulative_seconds": 0.065200748
                },
                {
                  "module": "numpy/_core/shape_base.py",
                  "line": 378,
                  "function": "stack",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.015640187,
                  "cumulative_seconds": 0.018624324
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 103,
                  "function": "blocks",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.01449659,
                  "cumulative_seconds": 0.4601971
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.012639624,
                  "cumulative_seconds": 0.030978746
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.011295103,
                  "cumulative_seconds": 0.01773935
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.010865861000000001,
                  "cumulative_seconds": 0.010865861000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 52000,
                  "total_calls": 52000,
                  "self_seconds": 0.010256581,
                  "cumulative_seconds": 0.010256581
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.009847125,
                  "cumulative_seconds": 0.032414176
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.009695032000000001,
                  "cumulative_seconds": 0.015539788
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.009596241,
                  "cumulative_seconds": 0.025572717000000002
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.009430614,
                  "cumulative_seconds": 0.013754965000000001
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 104,
                  "function": "one",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.009389028,
                  "cumulative_seconds": 0.42230789700000004
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.007315294000000001,
                  "cumulative_seconds": 0.023334985000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.006787469000000001,
                  "cumulative_seconds": 0.015600548
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.006697586,
                  "cumulative_seconds": 0.041316316000000006
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 40000,
                  "total_calls": 40000,
                  "self_seconds": 0.006612473000000001,
                  "cumulative_seconds": 0.006612473000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.006343794000000001,
                  "cumulative_seconds": 0.006343794000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.005671448,
                  "cumulative_seconds": 0.005671448
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0051427650000000005,
                  "cumulative_seconds": 0.019961603
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.004754633,
                  "cumulative_seconds": 0.007027263000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.00474174,
                  "cumulative_seconds": 0.00474174
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0046904500000000005,
                  "cumulative_seconds": 0.0046904500000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.0046088100000000005,
                  "cumulative_seconds": 0.0046088100000000005
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 12000,
                  "total_calls": 12000,
                  "self_seconds": 0.004421782,
                  "cumulative_seconds": 0.005844756
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.0043088250000000005,
                  "cumulative_seconds": 0.014929590000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.004229429000000001,
                  "cumulative_seconds": 0.004229429000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003724563,
                  "cumulative_seconds": 0.011283745000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 20000,
                  "total_calls": 20000,
                  "self_seconds": 0.003541667,
                  "cumulative_seconds": 0.003541667
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.0034923740000000003,
                  "cumulative_seconds": 0.0034923740000000003
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003333345,
                  "cumulative_seconds": 0.0037658030000000003
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00304775,
                  "cumulative_seconds": 0.021572402
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002521457,
                  "cumulative_seconds": 0.020260807000000002
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1410,
                  "function": "<genexpr>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.002440653,
                  "cumulative_seconds": 0.002440653
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 59686912,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.4159682529862039
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "profile",
      "order": 74,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.060482507000000005,
              "total_calls": 38001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.025882462000000002,
                  "cumulative_seconds": 0.059406859000000006
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0062777630000000004,
                  "cumulative_seconds": 0.0062777630000000004
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 115,
                  "function": "_mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0050193600000000005,
                  "cumulative_seconds": 0.010488963
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0036200140000000004,
                  "cumulative_seconds": 0.008307034000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0030002040000000002,
                  "cumulative_seconds": 0.011755172000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0025504300000000002,
                  "cumulative_seconds": 0.0025504300000000002
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 73,
                  "function": "_count_reduce_items",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001938051,
                  "cumulative_seconds": 0.002427954
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0017107700000000001,
                  "cumulative_seconds": 0.008354883
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3737,
                  "function": "mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001547942,
                  "cumulative_seconds": 0.012036905
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001283784,
                  "cumulative_seconds": 0.004093683
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001027728,
                  "cumulative_seconds": 0.060434587000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0008893270000000001,
                  "cumulative_seconds": 0.0008893270000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008030540000000001,
                  "cumulative_seconds": 0.001862043
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000790682,
                  "cumulative_seconds": 0.000790682
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000769493,
                  "cumulative_seconds": 0.000769493
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007511180000000001,
                  "cumulative_seconds": 0.002613161
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0005226800000000001,
                  "cumulative_seconds": 0.0005226800000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.issubclass>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00047059600000000005,
                  "cumulative_seconds": 0.00047059600000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00036756200000000004,
                  "cumulative_seconds": 0.00036756200000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00028949600000000003,
                  "cumulative_seconds": 0.00028949600000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.lib.array_utils.normalize_axis_index>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000272441,
                  "cumulative_seconds": 0.000272441
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.asanyarray>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00023369900000000003,
                  "cumulative_seconds": 0.00023369900000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3732,
                  "function": "_mean_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00021919300000000001,
                  "cumulative_seconds": 0.00021919300000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000196738,
                  "cumulative_seconds": 0.000196738
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 4.792e-05,
                  "cumulative_seconds": 4.792e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.184732362,
              "total_calls": 253001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1236,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.025988630000000002,
                  "cumulative_seconds": 0.15307546200000002
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.010481559000000001,
                  "cumulative_seconds": 0.033804521000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.010283195,
                  "cumulative_seconds": 0.010283195
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010087766000000001,
                  "cumulative_seconds": 0.019097441
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009551499,
                  "cumulative_seconds": 0.184701254
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.008216582,
                  "cumulative_seconds": 0.020651666000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007480798,
                  "cumulative_seconds": 0.016529977
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007429583000000001,
                  "cumulative_seconds": 0.043987838
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.007059122,
                  "cumulative_seconds": 0.018679039
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.006699573,
                  "cumulative_seconds": 0.008317049
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006363337,
                  "cumulative_seconds": 0.021700386000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006095871,
                  "cumulative_seconds": 0.006095871
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005603769000000001,
                  "cumulative_seconds": 0.05955121100000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.0053809470000000005,
                  "cumulative_seconds": 0.0053809470000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005282198,
                  "cumulative_seconds": 0.021681412
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0036394960000000003,
                  "cumulative_seconds": 0.0036394960000000003
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0034839550000000004,
                  "cumulative_seconds": 0.0083653
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003305685,
                  "cumulative_seconds": 0.005265649000000001
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003300882,
                  "cumulative_seconds": 0.011067645000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003135132,
                  "cumulative_seconds": 0.0048331350000000006
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002587989,
                  "cumulative_seconds": 0.007636968
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002507051,
                  "cumulative_seconds": 0.00365129
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002476938,
                  "cumulative_seconds": 0.002476938
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00241756,
                  "cumulative_seconds": 0.00241756
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.0018927920000000001,
                  "cumulative_seconds": 0.0018927920000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001673636,
                  "cumulative_seconds": 0.002501114
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0016225760000000001,
                  "cumulative_seconds": 0.0016225760000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001617476,
                  "cumulative_seconds": 0.001617476
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.0014762190000000002,
                  "cumulative_seconds": 0.0014762190000000002
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014667150000000002,
                  "cumulative_seconds": 0.0019599640000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0014100290000000001,
                  "cumulative_seconds": 0.0014100290000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001339862,
                  "cumulative_seconds": 0.005356167
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001333173,
                  "cumulative_seconds": 0.001333173
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0009338430000000001,
                  "cumulative_seconds": 0.0009338430000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000919313,
                  "cumulative_seconds": 0.0027537340000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009166490000000001,
                  "cumulative_seconds": 0.005972254000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000845076,
                  "cumulative_seconds": 0.0009534400000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0008274780000000001,
                  "cumulative_seconds": 0.0008274780000000001
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000764521,
                  "cumulative_seconds": 0.0057361140000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0006958180000000001,
                  "cumulative_seconds": 0.0006958180000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.11961685700000001,
              "total_calls": 152001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1369,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.017058247000000002,
                  "cumulative_seconds": 0.11745894300000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009230377000000001,
                  "cumulative_seconds": 0.017560952
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0075903360000000005,
                  "cumulative_seconds": 0.0075903360000000005
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.006537188,
                  "cumulative_seconds": 0.017569443
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005873236,
                  "cumulative_seconds": 0.007305004
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005709039,
                  "cumulative_seconds": 0.014281663000000002
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005001266000000001,
                  "cumulative_seconds": 0.054894431
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.004917798,
                  "cumulative_seconds": 0.019942879
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003382004,
                  "cumulative_seconds": 0.003382004
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003075099,
                  "cumulative_seconds": 0.007637538
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003014821,
                  "cumulative_seconds": 0.00986818
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0028982720000000003,
                  "cumulative_seconds": 0.0046880640000000005
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002762857,
                  "cumulative_seconds": 0.004300573
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002468782,
                  "cumulative_seconds": 0.002468782
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.002448739,
                  "cumulative_seconds": 0.007754428000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002374745,
                  "cumulative_seconds": 0.006861365
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002312415,
                  "cumulative_seconds": 0.0033737840000000003
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0022831460000000002,
                  "cumulative_seconds": 0.0022831460000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002236255,
                  "cumulative_seconds": 0.002236255
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0021267720000000003,
                  "cumulative_seconds": 0.11958571500000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0020983620000000003,
                  "cumulative_seconds": 0.004706229
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002047277,
                  "cumulative_seconds": 0.012527007000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.001742229,
                  "cumulative_seconds": 0.001742229
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.001455045,
                  "cumulative_seconds": 0.001455045
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014432890000000002,
                  "cumulative_seconds": 0.0021652950000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0014317680000000001,
                  "cumulative_seconds": 0.0014317680000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.001427716,
                  "cumulative_seconds": 0.0049266710000000005
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001360864,
                  "cumulative_seconds": 0.0017897920000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001231324,
                  "cumulative_seconds": 0.004966858
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0011623410000000001,
                  "cumulative_seconds": 0.0011623410000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000982288,
                  "cumulative_seconds": 0.000982288
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0009192940000000001,
                  "cumulative_seconds": 0.0009192940000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008803140000000001,
                  "cumulative_seconds": 0.002725302
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000855211,
                  "cumulative_seconds": 0.000855211
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000766136,
                  "cumulative_seconds": 0.000872495
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0007220060000000001,
                  "cumulative_seconds": 0.0007220060000000001
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007011840000000001,
                  "cumulative_seconds": 0.0051858830000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0006518250000000001,
                  "cumulative_seconds": 0.0006518250000000001
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000604692,
                  "cumulative_seconds": 0.004905265000000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1410,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000586929,
                  "cumulative_seconds": 0.000586929
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59535360,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.9986338829621673
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 4,
        "stages": 2,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "profile",
      "order": 75,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 4,
          "stages": 2,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 809,
        "state_elements": 24,
        "local_parameter_elements": 4,
        "shared_kernel_elements": 4,
        "fixture_bytes": 288,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.052764688000000004,
              "total_calls": 38001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0225493,
                  "cumulative_seconds": 0.051830527
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.005499400000000001,
                  "cumulative_seconds": 0.005499400000000001
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 115,
                  "function": "_mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004233601,
                  "cumulative_seconds": 0.009032647000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0030685870000000002,
                  "cumulative_seconds": 0.0071844510000000006
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002579919,
                  "cumulative_seconds": 0.010153304
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002277154,
                  "cumulative_seconds": 0.002277154
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 73,
                  "function": "_count_reduce_items",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0017064810000000001,
                  "cumulative_seconds": 0.002127753
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001522958,
                  "cumulative_seconds": 0.0075343860000000006
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3737,
                  "function": "mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001342281,
                  "cumulative_seconds": 0.010374928
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001157391,
                  "cumulative_seconds": 0.003734274
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000895946,
                  "cumulative_seconds": 0.052726473
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000774782,
                  "cumulative_seconds": 0.000774782
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000758689,
                  "cumulative_seconds": 0.0017252180000000002
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0006965070000000001,
                  "cumulative_seconds": 0.0006965070000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000686698,
                  "cumulative_seconds": 0.000686698
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0006629940000000001,
                  "cumulative_seconds": 0.0023882120000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000466194,
                  "cumulative_seconds": 0.000466194
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.issubclass>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00041994700000000005,
                  "cumulative_seconds": 0.00041994700000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00033536000000000004,
                  "cumulative_seconds": 0.00033536000000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000279831,
                  "cumulative_seconds": 0.000279831
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.lib.array_utils.normalize_axis_index>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000234538,
                  "cumulative_seconds": 0.000234538
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.asanyarray>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00020250200000000002,
                  "cumulative_seconds": 0.00020250200000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000188671,
                  "cumulative_seconds": 0.000188671
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3732,
                  "function": "_mean_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00018674200000000002,
                  "cumulative_seconds": 0.00018674200000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 3.8215e-05,
                  "cumulative_seconds": 3.8215e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.22295698400000002,
              "total_calls": 312001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1233,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.028419645,
                  "cumulative_seconds": 0.19044951400000001
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.02326351,
                  "cumulative_seconds": 0.03644869
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.011278179000000001,
                  "cumulative_seconds": 0.011278179000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.01078549,
                  "cumulative_seconds": 0.020022567
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.010164769,
                  "cumulative_seconds": 0.033562905000000004
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009931562000000001,
                  "cumulative_seconds": 0.22291750300000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.00820503,
                  "cumulative_seconds": 0.021690805
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.0076177300000000005,
                  "cumulative_seconds": 0.043873265
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007568040000000001,
                  "cumulative_seconds": 0.016719604000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.007398369,
                  "cumulative_seconds": 0.019100267
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006333115,
                  "cumulative_seconds": 0.006333115
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006150055000000001,
                  "cumulative_seconds": 0.02175185
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.005623508,
                  "cumulative_seconds": 0.005623508
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0056212400000000004,
                  "cumulative_seconds": 0.062113342
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005443917,
                  "cumulative_seconds": 0.022417175
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.004739742,
                  "cumulative_seconds": 0.0066461
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003972272000000001,
                  "cumulative_seconds": 0.003972272000000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0036483120000000003,
                  "cumulative_seconds": 0.008708601
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0034599550000000002,
                  "cumulative_seconds": 0.0058148290000000005
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0032537470000000004,
                  "cumulative_seconds": 0.010921015000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0031903920000000002,
                  "cumulative_seconds": 0.004918548
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002801102,
                  "cumulative_seconds": 0.008249048
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0027520730000000003,
                  "cumulative_seconds": 0.039200763
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002581569,
                  "cumulative_seconds": 0.002581569
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002566379,
                  "cumulative_seconds": 0.002566379
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0025598210000000003,
                  "cumulative_seconds": 0.0037574020000000004
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.0023548740000000003,
                  "cumulative_seconds": 0.0023548740000000003
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001977,
                  "cumulative_seconds": 0.001977
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.0019395050000000002,
                  "cumulative_seconds": 0.0019395050000000002
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001849418,
                  "cumulative_seconds": 0.002807211
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.001646286,
                  "cumulative_seconds": 0.001646286
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0016065530000000001,
                  "cumulative_seconds": 0.002374012
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.001512462,
                  "cumulative_seconds": 0.001512462
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001430512,
                  "cumulative_seconds": 0.0019063580000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001399463,
                  "cumulative_seconds": 0.005595081
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001374991,
                  "cumulative_seconds": 0.001374991
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0012396260000000002,
                  "cumulative_seconds": 0.0012396260000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001233296,
                  "cumulative_seconds": 0.001233296
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001015558,
                  "cumulative_seconds": 0.001015558
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0009577930000000001,
                  "cumulative_seconds": 0.0009577930000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.1102230246251565e-16,
            "gain_derivative": null,
            "reference_gain_derivative": -3.7910272726593415,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.148305559,
              "total_calls": 211001,
              "top_self_time": [
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.020271333000000002,
                  "cumulative_seconds": 0.032013174000000005
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1366,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.018796737,
                  "cumulative_seconds": 0.14615865
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009031429,
                  "cumulative_seconds": 0.017252293000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.007433828000000001,
                  "cumulative_seconds": 0.007433828000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.006349118000000001,
                  "cumulative_seconds": 0.017006553
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005628147,
                  "cumulative_seconds": 0.014001855
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.004921768,
                  "cumulative_seconds": 0.01965089
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.004889549,
                  "cumulative_seconds": 0.053820274
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0039299370000000005,
                  "cumulative_seconds": 0.005726158
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00335809,
                  "cumulative_seconds": 0.00335809
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0031368510000000004,
                  "cumulative_seconds": 0.0077216080000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.003127209,
                  "cumulative_seconds": 0.005210426000000001
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002945959,
                  "cumulative_seconds": 0.009830144
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002834234,
                  "cumulative_seconds": 0.004396217
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002481904,
                  "cumulative_seconds": 0.002481904
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.002445604,
                  "cumulative_seconds": 0.007713816
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0023831290000000003,
                  "cumulative_seconds": 0.0034238280000000003
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.002355696,
                  "cumulative_seconds": 0.03436887
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002276995,
                  "cumulative_seconds": 0.002276995
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0022631020000000003,
                  "cumulative_seconds": 0.006825088000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0022117060000000003,
                  "cumulative_seconds": 0.0022117060000000003
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002113752,
                  "cumulative_seconds": 0.148272402
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002103923,
                  "cumulative_seconds": 0.004528821000000001
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.002083217,
                  "cumulative_seconds": 0.002083217
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0020547350000000002,
                  "cumulative_seconds": 0.012352287
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001769216,
                  "cumulative_seconds": 0.001769216
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.001715577,
                  "cumulative_seconds": 0.001715577
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001669698,
                  "cumulative_seconds": 0.002524133
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001517576,
                  "cumulative_seconds": 0.00229394
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0014486330000000002,
                  "cumulative_seconds": 0.004893988
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0013844150000000002,
                  "cumulative_seconds": 0.0013844150000000002
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00135617,
                  "cumulative_seconds": 0.0017962210000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001222795,
                  "cumulative_seconds": 0.00498217
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001176278,
                  "cumulative_seconds": 0.001176278
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001102153,
                  "cumulative_seconds": 0.001102153
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.00093988,
                  "cumulative_seconds": 0.00093988
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000903289,
                  "cumulative_seconds": 0.000903289
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000893557,
                  "cumulative_seconds": 0.000893557
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008818470000000001,
                  "cumulative_seconds": 0.002583736
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0008544350000000001,
                  "cumulative_seconds": 0.0008544350000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 59625472,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 0.9969080890296027
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "profile",
      "order": 76,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.044478196,
              "total_calls": 27001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.023974756,
                  "cumulative_seconds": 0.043579306000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.004462824000000001,
                  "cumulative_seconds": 0.004462824000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003036716,
                  "cumulative_seconds": 0.007963154
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002657885,
                  "cumulative_seconds": 0.011026626000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0025467050000000002,
                  "cumulative_seconds": 0.0025467050000000002
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001486811,
                  "cumulative_seconds": 0.0075532590000000005
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00109632,
                  "cumulative_seconds": 0.003519743
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000859652,
                  "cumulative_seconds": 0.044438958
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000722113,
                  "cumulative_seconds": 0.000722113
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000709503,
                  "cumulative_seconds": 0.000709503
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0006520040000000001,
                  "cumulative_seconds": 0.001624379
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000630459,
                  "cumulative_seconds": 0.0022548380000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00046361400000000005,
                  "cumulative_seconds": 0.00046361400000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000405587,
                  "cumulative_seconds": 0.000405587
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000315162,
                  "cumulative_seconds": 0.000315162
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000250262,
                  "cumulative_seconds": 0.000250262
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000168585,
                  "cumulative_seconds": 0.000168585
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 3.9238e-05,
                  "cumulative_seconds": 3.9238e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.22191051700000003,
              "total_calls": 306001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1233,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.028083524000000002,
                  "cumulative_seconds": 0.189824442
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.023444844000000003,
                  "cumulative_seconds": 0.036670092
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.013296891000000002,
                  "cumulative_seconds": 0.013296891000000002
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.010116566,
                  "cumulative_seconds": 0.032876959000000004
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010042731000000001,
                  "cumulative_seconds": 0.221874496
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009786952,
                  "cumulative_seconds": 0.024617939000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009453247000000001,
                  "cumulative_seconds": 0.014671406000000001
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007490592000000001,
                  "cumulative_seconds": 0.043022852
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007355904000000001,
                  "cumulative_seconds": 0.016121761000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.006950651,
                  "cumulative_seconds": 0.022212446
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0061062090000000005,
                  "cumulative_seconds": 0.021136121
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.005997475,
                  "cumulative_seconds": 0.005997475
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005531971,
                  "cumulative_seconds": 0.062998436
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.005419305,
                  "cumulative_seconds": 0.005419305
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.004411376000000001,
                  "cumulative_seconds": 0.006293508000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004393337000000001,
                  "cumulative_seconds": 0.021897602000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004164552,
                  "cumulative_seconds": 0.004164552
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0035482160000000003,
                  "cumulative_seconds": 0.005882411000000001
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0035160680000000002,
                  "cumulative_seconds": 0.010838677000000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0034374310000000003,
                  "cumulative_seconds": 0.008303589
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003101983,
                  "cumulative_seconds": 0.004770018
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002887501,
                  "cumulative_seconds": 0.008550327
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.002796139,
                  "cumulative_seconds": 0.039466231000000004
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0027445910000000002,
                  "cumulative_seconds": 0.0027445910000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0027176500000000003,
                  "cumulative_seconds": 0.0027176500000000003
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0024622620000000002,
                  "cumulative_seconds": 0.0036121950000000003
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.0023341950000000003,
                  "cumulative_seconds": 0.0023341950000000003
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.00198337,
                  "cumulative_seconds": 0.00198337
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0018873890000000002,
                  "cumulative_seconds": 0.0028289120000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0017746600000000002,
                  "cumulative_seconds": 0.0017746600000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0016242720000000002,
                  "cumulative_seconds": 0.0016242720000000002
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001611365,
                  "cumulative_seconds": 0.00235629
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.001456952,
                  "cumulative_seconds": 0.001456952
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014138570000000001,
                  "cumulative_seconds": 0.0018821320000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0013713220000000001,
                  "cumulative_seconds": 0.0013713220000000001
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001301099,
                  "cumulative_seconds": 0.005255774
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001203366,
                  "cumulative_seconds": 0.001203366
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0010658940000000002,
                  "cumulative_seconds": 0.0010658940000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000970702,
                  "cumulative_seconds": 0.000970702
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000949968,
                  "cumulative_seconds": 0.006332938000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.161015933,
              "total_calls": 205001,
              "top_self_time": [
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.021842851,
                  "cumulative_seconds": 0.034285086
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1366,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.020101323,
                  "cumulative_seconds": 0.15860786100000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.010448658000000001,
                  "cumulative_seconds": 0.010448658000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009518988,
                  "cumulative_seconds": 0.024192984
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009047149,
                  "cumulative_seconds": 0.014096426
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005111679,
                  "cumulative_seconds": 0.060618317000000005
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004914839000000001,
                  "cumulative_seconds": 0.016191744
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004314453,
                  "cumulative_seconds": 0.021157368000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0042531140000000005,
                  "cumulative_seconds": 0.006134545000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00395724,
                  "cumulative_seconds": 0.00395724
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0033667740000000003,
                  "cumulative_seconds": 0.005519214000000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0032965860000000002,
                  "cumulative_seconds": 0.008006077
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003106637,
                  "cumulative_seconds": 0.010283643
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0029584150000000003,
                  "cumulative_seconds": 0.0045776060000000006
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0026842840000000003,
                  "cumulative_seconds": 0.008001125000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002653463,
                  "cumulative_seconds": 0.002653463
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0026054000000000003,
                  "cumulative_seconds": 0.0026054000000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002602867,
                  "cumulative_seconds": 0.002602867
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0025587540000000003,
                  "cumulative_seconds": 0.03684384
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.002552954,
                  "cumulative_seconds": 0.008165663
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002403917,
                  "cumulative_seconds": 0.0035140690000000003
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002374966,
                  "cumulative_seconds": 0.16098282700000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002174739,
                  "cumulative_seconds": 0.0048784990000000006
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.0021524400000000003,
                  "cumulative_seconds": 0.0021524400000000003
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0021373810000000003,
                  "cumulative_seconds": 0.013028249
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001850938,
                  "cumulative_seconds": 0.001850938
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0017495730000000001,
                  "cumulative_seconds": 0.0026718320000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.001705373,
                  "cumulative_seconds": 0.001705373
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0015830780000000001,
                  "cumulative_seconds": 0.002287938
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.001568128,
                  "cumulative_seconds": 0.001568128
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0015242060000000002,
                  "cumulative_seconds": 0.005241246000000001
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001426526,
                  "cumulative_seconds": 0.001881431
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001314255,
                  "cumulative_seconds": 0.001314255
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001268201,
                  "cumulative_seconds": 0.0051053620000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0011547740000000001,
                  "cumulative_seconds": 0.0011547740000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.000922259,
                  "cumulative_seconds": 0.000922259
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000916662,
                  "cumulative_seconds": 0.002725205
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0009144390000000001,
                  "cumulative_seconds": 0.0009144390000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0008899330000000001,
                  "cumulative_seconds": 0.0008899330000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0008282470000000001,
                  "cumulative_seconds": 0.0008282470000000001
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 2.4606509340000002,
              "total_calls": 2903001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1366,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.320076177,
                  "cumulative_seconds": 2.3044307560000004
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.316676552,
                  "cumulative_seconds": 0.479773049
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.137317284,
                  "cumulative_seconds": 0.22276292600000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.107991085,
                  "cumulative_seconds": 0.107991085
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.098565545,
                  "cumulative_seconds": 0.294983822
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 96000,
                  "total_calls": 96000,
                  "self_seconds": 0.087034518,
                  "cumulative_seconds": 0.8315360070000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.082733917,
                  "cumulative_seconds": 0.204508837
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.071830619,
                  "cumulative_seconds": 0.287188222
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 128000,
                  "total_calls": 128000,
                  "self_seconds": 0.062823874,
                  "cumulative_seconds": 0.08839993600000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.058181247000000005,
                  "cumulative_seconds": 0.141017645
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.051670004000000005,
                  "cumulative_seconds": 0.051670004000000005
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.05092601200000001,
                  "cumulative_seconds": 0.079142451
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 103,
                  "function": "blocks",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.050848856000000005,
                  "cumulative_seconds": 2.460605102
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 104,
                  "function": "one",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.044970575000000006,
                  "cumulative_seconds": 2.349401331
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 208000,
                  "total_calls": 208000,
                  "self_seconds": 0.044703205,
                  "cumulative_seconds": 0.044703205
                },
                {
                  "module": "numpy/_core/shape_base.py",
                  "line": 378,
                  "function": "stack",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.044114743000000005,
                  "cumulative_seconds": 0.050720203000000005
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.043912412000000005,
                  "cumulative_seconds": 0.145315728
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.043654530000000004,
                  "cumulative_seconds": 0.11672721000000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.042336317000000005,
                  "cumulative_seconds": 0.062198914
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.040302578000000006,
                  "cumulative_seconds": 0.062719942
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.037775597,
                  "cumulative_seconds": 0.5175486460000001
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.032865012,
                  "cumulative_seconds": 0.10458698000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.031098924000000003,
                  "cumulative_seconds": 0.031098924000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 160000,
                  "total_calls": 160000,
                  "self_seconds": 0.029652859,
                  "cumulative_seconds": 0.029652859
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.029611197000000002,
                  "cumulative_seconds": 0.181963268
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.029512856,
                  "cumulative_seconds": 0.06843141300000001
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.027277468000000003,
                  "cumulative_seconds": 0.027277468000000003
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.027258603000000003,
                  "cumulative_seconds": 0.027258603000000003
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.025332417000000003,
                  "cumulative_seconds": 0.038092599000000005
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 160000,
                  "total_calls": 160000,
                  "self_seconds": 0.022417364000000002,
                  "cumulative_seconds": 0.022417364000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.022363513,
                  "cumulative_seconds": 0.089083093
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.021570000000000002,
                  "cumulative_seconds": 0.021570000000000002
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.021408748000000002,
                  "cumulative_seconds": 0.031572046
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.021360519,
                  "cumulative_seconds": 0.021360519
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.019400931,
                  "cumulative_seconds": 0.067168078
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.019335067,
                  "cumulative_seconds": 0.025576062
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.017972461000000002,
                  "cumulative_seconds": 0.017972461000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.016437822,
                  "cumulative_seconds": 0.016437822
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.015845301000000003,
                  "cumulative_seconds": 0.047765091
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.01578806,
                  "cumulative_seconds": 0.01578806
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 63705088,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.5944100380293094
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "independent",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "profile",
      "order": 77,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": false
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 903,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3784,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.051818401,
              "total_calls": 27001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.02786811,
                  "cumulative_seconds": 0.050764883000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.005303992,
                  "cumulative_seconds": 0.005303992
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0035121920000000004,
                  "cumulative_seconds": 0.009342988
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0032211550000000003,
                  "cumulative_seconds": 0.0032211550000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002971435,
                  "cumulative_seconds": 0.012772001000000002
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001726368,
                  "cumulative_seconds": 0.009006096
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001244417,
                  "cumulative_seconds": 0.004058573
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001004705,
                  "cumulative_seconds": 0.051769588000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000858411,
                  "cumulative_seconds": 0.000858411
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0007728430000000001,
                  "cumulative_seconds": 0.0007728430000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007672260000000001,
                  "cumulative_seconds": 0.001912695
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000711971,
                  "cumulative_seconds": 0.0026246660000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0005268040000000001,
                  "cumulative_seconds": 0.0005268040000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00045757800000000004,
                  "cumulative_seconds": 0.00045757800000000004
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00034583300000000003,
                  "cumulative_seconds": 0.00034583300000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00028705800000000003,
                  "cumulative_seconds": 0.00028705800000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00018949,
                  "cumulative_seconds": 0.00018949
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 4.8813e-05,
                  "cumulative_seconds": 4.8813e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.24363149300000003,
              "total_calls": 247001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1236,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.033518785,
                  "cumulative_seconds": 0.201736769
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.018450743000000002,
                  "cumulative_seconds": 0.018450743000000002
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.013458507000000001,
                  "cumulative_seconds": 0.24359449600000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.012863587000000001,
                  "cumulative_seconds": 0.031540241000000004
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.012673817,
                  "cumulative_seconds": 0.040802849
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.012605322,
                  "cumulative_seconds": 0.019133487
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.009131108,
                  "cumulative_seconds": 0.053509372000000006
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.008883367000000001,
                  "cumulative_seconds": 0.030194243000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.008757231,
                  "cumulative_seconds": 0.020353736
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.008579909,
                  "cumulative_seconds": 0.010564786000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.007995668000000001,
                  "cumulative_seconds": 0.007995668000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.007408124,
                  "cumulative_seconds": 0.026245050000000002
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.007105344,
                  "cumulative_seconds": 0.082559011
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.007019703,
                  "cumulative_seconds": 0.007019703
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.005384282000000001,
                  "cumulative_seconds": 0.005384282000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.005360098000000001,
                  "cumulative_seconds": 0.028331785
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.004595368000000001,
                  "cumulative_seconds": 0.011066422000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004504449000000001,
                  "cumulative_seconds": 0.006897874
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004284161,
                  "cumulative_seconds": 0.012413795
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004230547,
                  "cumulative_seconds": 0.0064056370000000005
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004117442000000001,
                  "cumulative_seconds": 0.014133857000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0035280180000000004,
                  "cumulative_seconds": 0.0035280180000000004
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003453844,
                  "cumulative_seconds": 0.003453844
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003295946,
                  "cumulative_seconds": 0.004876402
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.002300373,
                  "cumulative_seconds": 0.002300373
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0020485110000000003,
                  "cumulative_seconds": 0.0031185410000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001984877,
                  "cumulative_seconds": 0.001984877
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0018852010000000002,
                  "cumulative_seconds": 0.006855213000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0018839820000000002,
                  "cumulative_seconds": 0.0018839820000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001829096,
                  "cumulative_seconds": 0.001829096
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001828118,
                  "cumulative_seconds": 0.0023934250000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.001728953,
                  "cumulative_seconds": 0.001728953
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.001392297,
                  "cumulative_seconds": 0.001392297
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001278065,
                  "cumulative_seconds": 0.003575415
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001245701,
                  "cumulative_seconds": 0.00931563
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.001238912,
                  "cumulative_seconds": 0.001238912
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0010924700000000001,
                  "cumulative_seconds": 0.001217746
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00107003,
                  "cumulative_seconds": 0.00107003
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009681760000000001,
                  "cumulative_seconds": 0.007884272000000001
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000912796,
                  "cumulative_seconds": 0.007318433
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.13635431,
              "total_calls": 146001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1369,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.018597828,
                  "cumulative_seconds": 0.133836979
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.011457198,
                  "cumulative_seconds": 0.011457198
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010036118,
                  "cumulative_seconds": 0.025396709
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009673547000000001,
                  "cumulative_seconds": 0.014888704000000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.006585279,
                  "cumulative_seconds": 0.008133000000000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005420882,
                  "cumulative_seconds": 0.064588327
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.005412461,
                  "cumulative_seconds": 0.017729731000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.004371047,
                  "cumulative_seconds": 0.022779535
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004128428,
                  "cumulative_seconds": 0.004128428
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0034298780000000004,
                  "cumulative_seconds": 0.008394937
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0034154140000000003,
                  "cumulative_seconds": 0.005301545
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0033729890000000003,
                  "cumulative_seconds": 0.011017808
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0032265130000000003,
                  "cumulative_seconds": 0.004884182
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0030537280000000003,
                  "cumulative_seconds": 0.009374337
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.002838918,
                  "cumulative_seconds": 0.008756844
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002706721,
                  "cumulative_seconds": 0.002706721
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002672546,
                  "cumulative_seconds": 0.002672546
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0025636350000000003,
                  "cumulative_seconds": 0.003745654
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002536602,
                  "cumulative_seconds": 0.002536602
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002485091,
                  "cumulative_seconds": 0.13632207000000002
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002231811,
                  "cumulative_seconds": 0.013926959000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00223158,
                  "cumulative_seconds": 0.005263683
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.001836801,
                  "cumulative_seconds": 0.001836801
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.0017747610000000001,
                  "cumulative_seconds": 0.0017747610000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0015539540000000002,
                  "cumulative_seconds": 0.0023432740000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0015477210000000002,
                  "cumulative_seconds": 0.0015477210000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0015265550000000002,
                  "cumulative_seconds": 0.005534594
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001441026,
                  "cumulative_seconds": 0.001886131
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001399105,
                  "cumulative_seconds": 0.005219057
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001296651,
                  "cumulative_seconds": 0.001296651
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001035356,
                  "cumulative_seconds": 0.002938304
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000929951,
                  "cumulative_seconds": 0.000929951
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000904591,
                  "cumulative_seconds": 0.000904591
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000860072,
                  "cumulative_seconds": 0.000860072
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008583950000000001,
                  "cumulative_seconds": 0.0009666770000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.00078932,
                  "cumulative_seconds": 0.00078932
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000762662,
                  "cumulative_seconds": 0.0059797010000000005
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0006922180000000001,
                  "cumulative_seconds": 0.0055764000000000005
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1410,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000620856,
                  "cumulative_seconds": 0.000620856
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000580593,
                  "cumulative_seconds": 0.000580593
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "block": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13270.584032852637,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 1.912827445,
              "total_calls": 2183001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1369,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.27853789300000004,
                  "cumulative_seconds": 1.764558467
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.13198164,
                  "cumulative_seconds": 0.214647584
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.106204243,
                  "cumulative_seconds": 0.106204243
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.094165072,
                  "cumulative_seconds": 0.282319299
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.084145252,
                  "cumulative_seconds": 0.104490684
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 96000,
                  "total_calls": 96000,
                  "self_seconds": 0.083818128,
                  "cumulative_seconds": 0.792263951
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.076995174,
                  "cumulative_seconds": 0.196370237
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.067456444,
                  "cumulative_seconds": 0.273970414
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.054552452,
                  "cumulative_seconds": 0.132926239
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.048093351000000006,
                  "cumulative_seconds": 0.075310189
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 103,
                  "function": "blocks",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.047078195,
                  "cumulative_seconds": 1.9127901010000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.047030562000000005,
                  "cumulative_seconds": 0.047030562000000005
                },
                {
                  "module": "numpy/_core/shape_base.py",
                  "line": 378,
                  "function": "stack",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.043692639000000005,
                  "cumulative_seconds": 0.050404639
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.043016724,
                  "cumulative_seconds": 0.06682378400000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.042786706,
                  "cumulative_seconds": 0.11184349800000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 208000,
                  "total_calls": 208000,
                  "self_seconds": 0.042524434,
                  "cumulative_seconds": 0.042524434
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 104,
                  "function": "one",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.041242155,
                  "cumulative_seconds": 1.805800622
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.040867925,
                  "cumulative_seconds": 0.136973101
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.039763047,
                  "cumulative_seconds": 0.058236989
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.031206343,
                  "cumulative_seconds": 0.098581337
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.02854227,
                  "cumulative_seconds": 0.174257141
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.027858492000000002,
                  "cumulative_seconds": 0.066443598
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.027838483,
                  "cumulative_seconds": 0.027838483
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 160000,
                  "total_calls": 160000,
                  "self_seconds": 0.027549863,
                  "cumulative_seconds": 0.027549863
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.024766397000000002,
                  "cumulative_seconds": 0.024766397000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.021582896,
                  "cumulative_seconds": 0.084414554
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.020712369,
                  "cumulative_seconds": 0.020712369
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.020345432,
                  "cumulative_seconds": 0.020345432
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.020254799,
                  "cumulative_seconds": 0.020254799
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.019503396000000003,
                  "cumulative_seconds": 0.029281392000000003
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 48000,
                  "total_calls": 48000,
                  "self_seconds": 0.018039356,
                  "cumulative_seconds": 0.02380706
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.017482048,
                  "cumulative_seconds": 0.062887886
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.017429200000000002,
                  "cumulative_seconds": 0.017429200000000002
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.015501779,
                  "cumulative_seconds": 0.047133534000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 32000,
                  "total_calls": 32000,
                  "self_seconds": 0.015382375,
                  "cumulative_seconds": 0.015382375
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 80000,
                  "total_calls": 80000,
                  "self_seconds": 0.015363955,
                  "cumulative_seconds": 0.015363955
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.013540689000000002,
                  "cumulative_seconds": 0.015256469000000002
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.0127098,
                  "cumulative_seconds": 0.09302984700000001
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.010756271000000001,
                  "cumulative_seconds": 0.08606646000000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1410,
                  "function": "<genexpr>",
                  "primitive_calls": 64000,
                  "total_calls": 64000,
                  "self_seconds": 0.010211407,
                  "cumulative_seconds": 0.010211407
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": null,
        "process_peak_rss_bytes": 63836160,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 3.1917005029972643
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "candidate",
      "repetition": 0,
      "mode": "profile",
      "order": 78,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.06620832800000001,
              "total_calls": 38001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.029048995,
                  "cumulative_seconds": 0.065048694
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.007845119000000001,
                  "cumulative_seconds": 0.007845119000000001
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 115,
                  "function": "_mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.005108482,
                  "cumulative_seconds": 0.011333589000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003452381,
                  "cumulative_seconds": 0.009140425
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0030136710000000003,
                  "cumulative_seconds": 0.012607204
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003001544,
                  "cumulative_seconds": 0.003001544
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 73,
                  "function": "_count_reduce_items",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0020915950000000003,
                  "cumulative_seconds": 0.002592058
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0017657080000000002,
                  "cumulative_seconds": 0.009078347
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3737,
                  "function": "mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001592714,
                  "cumulative_seconds": 0.012926303
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0012933320000000001,
                  "cumulative_seconds": 0.004311095
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0011053600000000001,
                  "cumulative_seconds": 0.066154054
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000909349,
                  "cumulative_seconds": 0.000909349
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0008956700000000001,
                  "cumulative_seconds": 0.0008956700000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008296330000000001,
                  "cumulative_seconds": 0.0020401200000000003
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000796432,
                  "cumulative_seconds": 0.000796432
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007621360000000001,
                  "cumulative_seconds": 0.0028022560000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000539786,
                  "cumulative_seconds": 0.000539786
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.issubclass>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000476908,
                  "cumulative_seconds": 0.000476908
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00036949700000000004,
                  "cumulative_seconds": 0.00036949700000000004
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000301138,
                  "cumulative_seconds": 0.000301138
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.lib.array_utils.normalize_axis_index>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00027995,
                  "cumulative_seconds": 0.00027995
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.asanyarray>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00023723100000000002,
                  "cumulative_seconds": 0.00023723100000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3732,
                  "function": "_mean_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000221916,
                  "cumulative_seconds": 0.000221916
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000215507,
                  "cumulative_seconds": 0.000215507
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 5.4274e-05,
                  "cumulative_seconds": 5.4274e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.20531151200000003,
              "total_calls": 253001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1236,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.027820813000000003,
                  "cumulative_seconds": 0.17124761600000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.015643840000000003,
                  "cumulative_seconds": 0.015643840000000003
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.011624277,
                  "cumulative_seconds": 0.021555626
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.010734186000000001,
                  "cumulative_seconds": 0.035034599
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010727165,
                  "cumulative_seconds": 0.20527150000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010361961000000001,
                  "cumulative_seconds": 0.025762232000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.008327227000000001,
                  "cumulative_seconds": 0.026403717
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007684117000000001,
                  "cumulative_seconds": 0.045564963
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007658506000000001,
                  "cumulative_seconds": 0.017319054
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.007215512,
                  "cumulative_seconds": 0.008878066
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006569164000000001,
                  "cumulative_seconds": 0.006569164000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.006546777,
                  "cumulative_seconds": 0.022643211
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005944518,
                  "cumulative_seconds": 0.07197851300000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.005918348,
                  "cumulative_seconds": 0.005918348
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.00554741,
                  "cumulative_seconds": 0.026990955
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004269876000000001,
                  "cumulative_seconds": 0.004269876000000001
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0037394150000000003,
                  "cumulative_seconds": 0.009006008000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0035500040000000003,
                  "cumulative_seconds": 0.005556387
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0033690400000000002,
                  "cumulative_seconds": 0.005166437
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003364666,
                  "cumulative_seconds": 0.011578366000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003003364,
                  "cumulative_seconds": 0.00882601
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002822059,
                  "cumulative_seconds": 0.002822059
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002798192,
                  "cumulative_seconds": 0.002798192
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0027319090000000002,
                  "cumulative_seconds": 0.0039845010000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.002002981,
                  "cumulative_seconds": 0.002002981
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0017719760000000002,
                  "cumulative_seconds": 0.002657313
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0016625540000000001,
                  "cumulative_seconds": 0.0016625540000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0016572020000000002,
                  "cumulative_seconds": 0.0016572020000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0015544600000000001,
                  "cumulative_seconds": 0.0015544600000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.0015312020000000002,
                  "cumulative_seconds": 0.0015312020000000002
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001512209,
                  "cumulative_seconds": 0.002006383
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0014330170000000002,
                  "cumulative_seconds": 0.005674587
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0013413400000000001,
                  "cumulative_seconds": 0.0013413400000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001006013,
                  "cumulative_seconds": 0.00680674
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000981775,
                  "cumulative_seconds": 0.000981775
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000962205,
                  "cumulative_seconds": 0.002846247
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0008958700000000001,
                  "cumulative_seconds": 0.001006186
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.000885337,
                  "cumulative_seconds": 0.000885337
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000829071,
                  "cumulative_seconds": 0.0062731620000000005
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000764428,
                  "cumulative_seconds": 0.0059308650000000004
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.13431405000000002,
              "total_calls": 152001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1369,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.018175752,
                  "cumulative_seconds": 0.13196812800000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.012169361,
                  "cumulative_seconds": 0.012169361
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010607102,
                  "cumulative_seconds": 0.019753708000000002
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009694838,
                  "cumulative_seconds": 0.024424635
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1473,
                  "function": "_broadcast_buffer",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.006134217,
                  "cumulative_seconds": 0.007691764
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005806363,
                  "cumulative_seconds": 0.019000693000000003
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 130,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.005219047,
                  "cumulative_seconds": 0.065922255
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005074636,
                  "cumulative_seconds": 0.024819414
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0038822960000000004,
                  "cumulative_seconds": 0.0038822960000000004
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003278406,
                  "cumulative_seconds": 0.008026173000000001
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0030945570000000004,
                  "cumulative_seconds": 0.010261915
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003084448,
                  "cumulative_seconds": 0.004902557
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002993491,
                  "cumulative_seconds": 0.004568285
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002661825,
                  "cumulative_seconds": 0.007587931000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.002568172,
                  "cumulative_seconds": 0.002568172
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002536057,
                  "cumulative_seconds": 0.002536057
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002518581,
                  "cumulative_seconds": 0.002518581
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.002502353,
                  "cumulative_seconds": 0.008130745
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0024785360000000004,
                  "cumulative_seconds": 0.0035546400000000004
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0023105630000000003,
                  "cumulative_seconds": 0.134278691
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002207583,
                  "cumulative_seconds": 0.004925227
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0021211610000000003,
                  "cumulative_seconds": 0.012994430000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.0017506520000000001,
                  "cumulative_seconds": 0.0017506520000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.001603063,
                  "cumulative_seconds": 0.001603063
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'view' of 'numpy.ndarray' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001557547,
                  "cumulative_seconds": 0.001557547
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0015286940000000001,
                  "cumulative_seconds": 0.0022648010000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0014805780000000002,
                  "cumulative_seconds": 0.005243668
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0013694240000000002,
                  "cumulative_seconds": 0.001818109
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0012958540000000001,
                  "cumulative_seconds": 0.00516091
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0012668030000000002,
                  "cumulative_seconds": 0.0012668030000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0010249690000000001,
                  "cumulative_seconds": 0.0010249690000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009245280000000001,
                  "cumulative_seconds": 0.002742524
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0009185020000000001,
                  "cumulative_seconds": 0.0009185020000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000897994,
                  "cumulative_seconds": 0.000897994
                },
                {
                  "module": "_helpers.py",
                  "line": 72,
                  "function": "_is_jax_zero_gradient_array",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007933730000000001,
                  "cumulative_seconds": 0.000900238
                },
                {
                  "module": "op_system/compile.py",
                  "line": 104,
                  "function": "_check_numeric_dtype",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0007535360000000001,
                  "cumulative_seconds": 0.005557717
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'get' of 'dict' objects>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0007361070000000001,
                  "cumulative_seconds": 0.0007361070000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.0006603690000000001,
                  "cumulative_seconds": 0.0006603690000000001
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1410,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0006412690000000001,
                  "cumulative_seconds": 0.0006412690000000001
                },
                {
                  "module": "op_system/_array.py",
                  "line": 12,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000633456,
                  "cumulative_seconds": 0.005201741
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 63033344,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.241517583024688
    },
    {
      "case": {
        "backend": "numpy",
        "groups": 16,
        "stages": 8,
        "coupling": "coupled",
        "dtype": "float64"
      },
      "variant": "baseline",
      "repetition": 0,
      "mode": "profile",
      "order": 79,
      "status": "success",
      "timeout_seconds": 120,
      "payload": {
        "case": {
          "backend": "numpy",
          "groups": 16,
          "stages": 8,
          "dtype": "float64",
          "coupled": true
        },
        "status": "qualified",
        "policy": {
          "repeats": 5,
          "inner_loops": 200,
          "warmups": 3
        },
        "fixture": "benchmarks.hierarchical_model.fixture; deterministic, no seed",
        "specification_json_bytes": 905,
        "state_elements": 384,
        "local_parameter_elements": 16,
        "shared_kernel_elements": 64,
        "fixture_bytes": 3792,
        "normalize": null,
        "compile_rhs": null,
        "backend_setup_seconds": null,
        "evaluators": {
          "handwritten": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.061417705,
              "total_calls": 38001,
              "top_self_time": [
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 140,
                  "function": "handwritten_rhs",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.026714656000000003,
                  "cumulative_seconds": 0.060382652
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.007060394,
                  "cumulative_seconds": 0.007060394
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 115,
                  "function": "_mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004706238000000001,
                  "cumulative_seconds": 0.010532617000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00331882,
                  "cumulative_seconds": 0.008445801000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.002891748,
                  "cumulative_seconds": 0.011766978
                },
                {
                  "module": "_aliases.py",
                  "line": 531,
                  "function": "matmul",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002829311,
                  "cumulative_seconds": 0.002829311
                },
                {
                  "module": "numpy/_core/_methods.py",
                  "line": 73,
                  "function": "_count_reduce_items",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00203361,
                  "cumulative_seconds": 0.002495881
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0016053410000000001,
                  "cumulative_seconds": 0.008614945
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3737,
                  "function": "mean",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001435103,
                  "cumulative_seconds": 0.011967720000000001
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00126811,
                  "cumulative_seconds": 0.004180293
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 95,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00099132,
                  "cumulative_seconds": 0.061373972000000006
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0009561620000000001,
                  "cumulative_seconds": 0.0009561620000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0008391210000000001,
                  "cumulative_seconds": 0.0008391210000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000762127,
                  "cumulative_seconds": 0.002018639
                },
                {
                  "module": "benchmarks/hierarchical_model.py",
                  "line": 152,
                  "function": "<genexpr>",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0007616770000000001,
                  "cumulative_seconds": 0.0007616770000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00069472,
                  "cumulative_seconds": 0.0027133590000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000545047,
                  "cumulative_seconds": 0.000545047
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.issubclass>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00043926800000000004,
                  "cumulative_seconds": 0.00043926800000000004
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2337,
                  "function": "_sum_dispatcher",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000357393,
                  "cumulative_seconds": 0.000357393
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00030035,
                  "cumulative_seconds": 0.00030035
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.lib.array_utils.normalize_axis_index>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000256827,
                  "cumulative_seconds": 0.000256827
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.asanyarray>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00020852200000000002,
                  "cumulative_seconds": 0.00020852200000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3732,
                  "function": "_mean_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00019928300000000002,
                  "cumulative_seconds": 0.00019928300000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000198824,
                  "cumulative_seconds": 0.000198824
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'disable' of '_lsprof.Profiler' objects>",
                  "primitive_calls": 1,
                  "total_calls": 1,
                  "self_seconds": 4.3733e-05,
                  "cumulative_seconds": 4.3733e-05
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "flat": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.23557973200000001,
              "total_calls": 312001,
              "top_self_time": [
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1233,
                  "function": "eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.028513202,
                  "cumulative_seconds": 0.201800067
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.02533329,
                  "cumulative_seconds": 0.038735574
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.015521391,
                  "cumulative_seconds": 0.015521391
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.011208015,
                  "cumulative_seconds": 0.020939127000000002
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 84,
                  "function": "flat",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010547943,
                  "cumulative_seconds": 0.23554777300000002
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.010242051,
                  "cumulative_seconds": 0.034715444000000005
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010028893,
                  "cumulative_seconds": 0.024874319000000002
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.008207436,
                  "cumulative_seconds": 0.026079957
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.007582645000000001,
                  "cumulative_seconds": 0.007582645000000001
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007466989,
                  "cumulative_seconds": 0.044900902
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 16000,
                  "total_calls": 16000,
                  "self_seconds": 0.007381858000000001,
                  "cumulative_seconds": 0.017780482
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.0061930330000000006,
                  "cumulative_seconds": 0.022858977000000003
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0057868,
                  "cumulative_seconds": 0.07031538600000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 28000,
                  "total_calls": 28000,
                  "self_seconds": 0.005626733,
                  "cumulative_seconds": 0.005626733
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005326015,
                  "cumulative_seconds": 0.026335921
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.004834789,
                  "cumulative_seconds": 0.006750875000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0042415610000000005,
                  "cumulative_seconds": 0.0042415610000000005
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.003503467,
                  "cumulative_seconds": 0.008571061000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0034812050000000002,
                  "cumulative_seconds": 0.0057800970000000005
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0033795030000000003,
                  "cumulative_seconds": 0.011145952
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.003266969,
                  "cumulative_seconds": 0.004967083000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002961575,
                  "cumulative_seconds": 0.008729259000000001
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00289695,
                  "cumulative_seconds": 0.00289695
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.00284737,
                  "cumulative_seconds": 0.00284737
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.002846163,
                  "cumulative_seconds": 0.041581737
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.00257169,
                  "cumulative_seconds": 0.0037508610000000003
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.0022988920000000003,
                  "cumulative_seconds": 0.0022988920000000003
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.002032454,
                  "cumulative_seconds": 0.002032454
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.002013805,
                  "cumulative_seconds": 0.002013805
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001933377,
                  "cumulative_seconds": 0.0029132850000000003
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 203,
                  "function": "_reshape_dispatcher",
                  "primitive_calls": 15000,
                  "total_calls": 15000,
                  "self_seconds": 0.001614416,
                  "cumulative_seconds": 0.001614416
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001603548,
                  "cumulative_seconds": 0.002388213
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 8000,
                  "total_calls": 8000,
                  "self_seconds": 0.001448124,
                  "cumulative_seconds": 0.001448124
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014348610000000002,
                  "cumulative_seconds": 0.0019160860000000002
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0013733,
                  "cumulative_seconds": 0.0013733
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.001372626,
                  "cumulative_seconds": 0.0053474080000000005
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001322458,
                  "cumulative_seconds": 0.001322458
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001278143,
                  "cumulative_seconds": 0.001278143
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 3325,
                  "function": "prod",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0010010260000000001,
                  "cumulative_seconds": 0.006885829
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.000979908,
                  "cumulative_seconds": 0.000979908
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          },
          "structured": {
            "value_rtol": 1e-10,
            "value_atol": 1e-10,
            "max_abs_value_error": 1.7763568394002505e-15,
            "gain_derivative": null,
            "reference_gain_derivative": -13295.724978615906,
            "gain_derivative_rtol": 1e-07,
            "gain_derivative_atol": 1e-08,
            "gain_derivative_abs_error": null,
            "gain_derivative_step": 1e-05,
            "timings": null,
            "profile": {
              "evaluator_calls": 1000,
              "accounted_seconds": 0.17411799400000003,
              "total_calls": 211001,
              "top_self_time": [
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 447,
                  "function": "_broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.024067001,
                  "cumulative_seconds": 0.036805700000000004
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 1366,
                  "function": "pytree_eval_fn",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.020505574000000002,
                  "cumulative_seconds": 0.171525128
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reduce' of 'numpy.ufunc' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.012599943,
                  "cumulative_seconds": 0.012599943
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.010961637000000002,
                  "cumulative_seconds": 0.020384145000000003
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.009685455,
                  "cumulative_seconds": 0.024729001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 66,
                  "function": "_wrapreduction",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.006095019,
                  "cumulative_seconds": 0.019716053
                },
                {
                  "module": "op_system/_vectorize.py",
                  "line": 127,
                  "function": "__call__",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0053464160000000005,
                  "cumulative_seconds": 0.068682542
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 2342,
                  "function": "sum",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.005276591000000001,
                  "cumulative_seconds": 0.02578803
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method numpy.array>",
                  "primitive_calls": 10000,
                  "total_calls": 10000,
                  "self_seconds": 0.004544287,
                  "cumulative_seconds": 0.0064334530000000004
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.004214642,
                  "cumulative_seconds": 0.004214642
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.any>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0034316340000000002,
                  "cumulative_seconds": 0.0055842520000000005
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 328,
                  "function": "isdtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0033911320000000003,
                  "cumulative_seconds": 0.008309844
                },
                {
                  "module": "numpy/_aliases.py",
                  "line": 70,
                  "function": "asarray",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.003234709,
                  "cumulative_seconds": 0.0107186
                },
                {
                  "module": "_helpers.py",
                  "line": 582,
                  "function": "array_namespace",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0030331530000000002,
                  "cumulative_seconds": 0.004686097
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0028540030000000004,
                  "cumulative_seconds": 0.008355464
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002831788,
                  "cumulative_seconds": 0.002831788
                },
                {
                  "module": "<op_system_vec>",
                  "line": 1,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.002821086,
                  "cumulative_seconds": 0.002821086
                },
                {
                  "module": "_aliases.py",
                  "line": 448,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0026936060000000003,
                  "cumulative_seconds": 0.008769765
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 474,
                  "function": "broadcast_to",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.002657127,
                  "cumulative_seconds": 0.039462827000000006
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.getattr>",
                  "primitive_calls": 14000,
                  "total_calls": 14000,
                  "self_seconds": 0.0026376940000000003,
                  "cumulative_seconds": 0.0026376940000000003
                },
                {
                  "module": "numpy/_core/numerictypes.py",
                  "line": 309,
                  "function": "_preprocess_dtype",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.0025640700000000003,
                  "cumulative_seconds": 0.003705963
                },
                {
                  "module": "benchmarks/hierarchical_benchmark.py",
                  "line": 97,
                  "function": "<lambda>",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0025594100000000002,
                  "cumulative_seconds": 0.174084538
                },
                {
                  "module": "_internal.py",
                  "line": 33,
                  "function": "wrapped_f",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002236834,
                  "cumulative_seconds": 0.013879121000000001
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 48,
                  "function": "_wrapfunc",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.002233357,
                  "cumulative_seconds": 0.005316418000000001
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 452,
                  "function": "<genexpr>",
                  "primitive_calls": 17000,
                  "total_calls": 17000,
                  "self_seconds": 0.0021526180000000002,
                  "cumulative_seconds": 0.0021526180000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'reshape' of 'numpy.ndarray' objects>",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.00191021,
                  "cumulative_seconds": 0.00191021
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.isinstance>",
                  "primitive_calls": 11000,
                  "total_calls": 11000,
                  "self_seconds": 0.001890336,
                  "cumulative_seconds": 0.001890336
                },
                {
                  "module": "numpy/lib/_stride_tricks_impl.py",
                  "line": 25,
                  "function": "_maybe_view_as_subclass",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001890083,
                  "cumulative_seconds": 0.001890083
                },
                {
                  "module": "numpy/lib/_function_base_impl.py",
                  "line": 375,
                  "function": "iterable",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001775302,
                  "cumulative_seconds": 0.002711741
                },
                {
                  "module": "numpy/_core/fromnumeric.py",
                  "line": 207,
                  "function": "reshape",
                  "primitive_calls": 3000,
                  "total_calls": 3000,
                  "self_seconds": 0.0015891400000000002,
                  "cumulative_seconds": 0.005693266000000001
                },
                {
                  "module": "_helpers.py",
                  "line": 701,
                  "function": "_check_device",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.001588657,
                  "cumulative_seconds": 0.002327392
                },
                {
                  "module": "enum.py",
                  "line": 202,
                  "function": "__get__",
                  "primitive_calls": 4000,
                  "total_calls": 4000,
                  "self_seconds": 0.0014244610000000001,
                  "cumulative_seconds": 0.001889166
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 12,
                  "function": "_bind_quadrature_weights",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0013180330000000001,
                  "cumulative_seconds": 0.005229883
                },
                {
                  "module": "op_system/_state_helpers.py",
                  "line": 26,
                  "function": "_bind_sum_state",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.0012945690000000002,
                  "cumulative_seconds": 0.0012945690000000002
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method '__exit__' of 'numpy.nditer' objects>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.001275669,
                  "cumulative_seconds": 0.001275669
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'items' of 'dict' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.001021091,
                  "cumulative_seconds": 0.001021091
                },
                {
                  "module": "_aliases.py",
                  "line": 443,
                  "function": "permute_dims",
                  "primitive_calls": 1000,
                  "total_calls": 1000,
                  "self_seconds": 0.000987658,
                  "cumulative_seconds": 0.002872522
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'append' of 'list' objects>",
                  "primitive_calls": 5000,
                  "total_calls": 5000,
                  "self_seconds": 0.000979828,
                  "cumulative_seconds": 0.000979828
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<built-in method builtins.iter>",
                  "primitive_calls": 6000,
                  "total_calls": 6000,
                  "self_seconds": 0.0009364390000000001,
                  "cumulative_seconds": 0.0009364390000000001
                },
                {
                  "module": "~",
                  "line": 0,
                  "function": "<method 'update' of 'set' objects>",
                  "primitive_calls": 2000,
                  "total_calls": 2000,
                  "self_seconds": 0.000917556,
                  "cumulative_seconds": 0.000917556
                }
              ],
              "scope": "profiled NumPy RHS only; not unprofiled latency"
            }
          }
        },
        "block_unavailable_reason": "group reduction couples groups",
        "process_peak_rss_bytes": 62873600,
        "environment": {
          "python": "3.12.14",
          "op_system": "0.9.0",
          "numpy": "2.5.4",
          "backend_version": "2.5.4",
          "platform": "Linux-6.17.0-1033-oem-x86_64-with-glibc2.39",
          "machine": "x86_64",
          "processor": "Intel(R) Core(TM) Ultra 7 265U",
          "cpu_count": 14,
          "cpu_affinity": [
            0
          ],
          "observed_thread_pools": [
            {
              "internal_api": "openblas",
              "num_threads": 1,
              "version": "0.3.34.106.0",
              "prefix": "libscipy_openblas",
              "architecture": "Haswell",
              "threading_layer": "pthreads"
            }
          ],
          "thread_settings": {
            "OMP_NUM_THREADS": "1",
            "OPENBLAS_NUM_THREADS": "1",
            "MKL_NUM_THREADS": "1",
            "JAX_PLATFORMS": "cpu",
            "JAX_ENABLE_X64": "true"
          }
        }
      },
      "outer_seconds": 1.2930993240443058
    }
  ]
}
