{
  "schemaVersion": 1,
  "lessonId": "science-03",
  "contentHash": "6b175d90141c2052127d85736ccf34c11f3f035c2884507fed92e387b08e7e68",
  "rendererHash": "a1bd5b648f4731ae5d5f0a24811c2540d1a0a132149ce589d17c4113509cbedf",
  "kind": "executed",
  "generatedAt": "2026-10-20T10:46:09.193417+00:00",
  "provenance": "recorded_cpu_computation",
  "environment": {
    "backend": "cpu",
    "deviceCount": 1,
    "jax": "0.9.2",
    "numpy": "2.4.4",
    "matplotlib": "3.10.8"
  },
  "stdout": "Autodiff: -0.9863878096749447 discrete oracle: -0.9863878096749429 continuous oracle: -0.9863878557664257\nLoss: 0.04837454286198381 gradient: 0.2686922266772409 finite difference: 0.26869222316237146\n",
  "data": {
    "kind": "line",
    "x": [
      5,
      10,
      20,
      40
    ],
    "xlabel": "RK4 steps over two seconds",
    "ylabel": "absolute endpoint sensitivity error",
    "yscale": "log",
    "series": [
      {
        "label": "autodiff versus continuous derivative",
        "y": [
          0.00024487955137553197,
          1.3192617195678658e-05,
          7.654351461550135e-07,
          4.609148129830487e-08
        ]
      }
    ]
  }
}
