{
  "schemaVersion": 1,
  "lessonId": "internals-01",
  "contentHash": "4605e7019f566f40efc6dba64e28ee6d18610e761aabe9e5eb3e84c46d3896c2",
  "executedAt": "2026-10-20T10:50:05.982947+00:00",
  "environment": {
    "backend": "cpu",
    "deviceCount": 1,
    "python": "3.14.3",
    "jax": "0.9.2",
    "numpy": "2.4.4",
    "matplotlib": "3.10.8"
  },
  "stdout": "Forward program:\n{ lambda ; a:f32[3]. let\n    b:f32[3] = add a 1.0:f32[]\n    c:f32[3] = mul b b\n    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n  in (d,) }\nOperation: add output shapes: [(3,)]\nOperation: mul output shapes: [(3,)]\nOperation: reduce_sum output shapes: [()]\nValue / gradient: 29.0 [4. 6. 8.]\nForward program:\n{ lambda ; a:f32[3]. let\n    b:f32[3] = add a 1.0:f32[]\n    c:f32[3] = mul b b\n    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n  in (d,) }\nOperation: add output shapes: [(3,)]\nOperation: mul output shapes: [(3,)]\nOperation: reduce_sum output shapes: [()]\nValue / gradient: 29.0 [4. 6. 8.]\nDerivative program: { lambda ; a:f32[3]. let\n    b:f32[3] = add a 1.0:f32[]\n    c:f32[3] = mul b b\n    _:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n    d:f32[3] = broadcast_in_dim 1.0:f32[]\n    e:f32[3] = mul b d\n    f:f32[3] = mul d b\n    g:f32[3] = add_any e f\n  in (g,) }\nCaptured: { lambda a:f32[3]; b:f32[3]. let\n    c:f32[3] = add b a\n    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n  in (d,) }\nExplicit: { lambda ; a:f32[3] b:f32[3]. let\n    c:f32[3] = add a b\n    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n  in (d,) }\n{ lambda ; a:f32[3]. let\n    b:f32[3] = add a 2.0:f32[]\n    c:f32[3] = mul b b\n    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n  in (d,) }\nUnrolled: { lambda ; a:f32[]. let\n    b:f32[] = mul 0.5:f32[] a\n    c:f32[] = add b 1.0:f32[]\n    d:f32[] = mul 0.5:f32[] c\n    e:f32[] = add d 1.0:f32[]\n    f:f32[] = mul 0.5:f32[] e\n    g:f32[] = add f 1.0:f32[]\n    h:f32[] = mul 0.5:f32[] g\n    i:f32[] = add h 1.0:f32[]\n  in (i,) }\nScanned: { lambda ; a:f32[]. let\n    b:f32[] _:f32[4] = scan[\n      _split_transpose=False\n      jaxpr={ lambda ; c:f32[]. let\n          d:f32[] = mul 0.5:f32[] c\n          e:f32[] = add d 1.0:f32[]\n        in (e, e) }\n      length=4\n      linear=(False,)\n      num_carry=1\n      num_consts=0\n      reverse=False\n      unroll=1\n    ] a\n  in (b,) }\nExpected failure: traced boolean used by Python if\nRepaired: { lambda ; a:f32[3]. let\n    b:f32[1] = slice[limit_indices=(1,) start_indices=(0,) strides=None] a\n    c:f32[] = squeeze[dimensions=(0,)] b\n    d:bool[] = gt c 0.0:f32[]\n    e:i32[] = convert_element_type[new_dtype=int32 weak_type=False] d\n    f:f32[] = cond[\n      branches=(\n        { lambda ; g:f32[3]. let\n            h:f32[] = reduce_sum[axes=(0,) out_sharding=None] g\n            i:f32[] = neg h\n          in (i,) }\n        { lambda ; j:f32[3]. let\n            k:f32[] = reduce_sum[axes=(0,) out_sharding=None] j\n          in (k,) }\n      )\n    ] e a\n  in (f,) }\nPASS: internals-01\n",
  "notebookCells": [
    {
      "sourceHash": "eff86fe9ed3ae9b747934b9c15bab4156bda9956ea65399d0f2ee2f08e0ed2b5",
      "outputs": []
    },
    {
      "sourceHash": "e087dc00fe168c32364aeadae08cd3050d042d53892969996b2731e1986ff3d8",
      "outputs": []
    },
    {
      "sourceHash": "a615d23f3018ed9f5dd084feda2e27daf19d43bd8e6e6634fd56e26c3caa8454",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Forward program:\n",
            "{ lambda ; a:f32[3]. let\n",
            "    b:f32[3] = add a 1.0:f32[]\n",
            "    c:f32[3] = mul b b\n",
            "    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n",
            "  in (d,) }\n",
            "Operation: add output shapes: [(3,)]\n",
            "Operation: mul output shapes: [(3,)]\n",
            "Operation: reduce_sum output shapes: [()]\n",
            "Value / gradient: 29.0 [4. 6. 8.]\n"
          ]
        }
      ]
    },
    {
      "sourceHash": "e1d218b4956f823303958dce3c0fd521045a216791f2e28ef6113abc9c4d5b37",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Forward program:\n",
            "{ lambda ; a:f32[3]. let\n",
            "    b:f32[3] = add a 1.0:f32[]\n",
            "    c:f32[3] = mul b b\n",
            "    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n",
            "  in (d,) }\n",
            "Operation: add output shapes: [(3,)]\n",
            "Operation: mul output shapes: [(3,)]\n",
            "Operation: reduce_sum output shapes: [()]\n",
            "Value / gradient: 29.0 [4. 6. 8.]\n"
          ]
        }
      ]
    },
    {
      "sourceHash": "31648f983acc354daf574e22a6d936b473f8cfdcc49fcb60a2e1fd9cc3d85900",
      "outputs": []
    },
    {
      "sourceHash": "25df6d662f9d3f0c4e984c6a201f79fa0cfd7a2633dc4b0773dfba6c2dd4ee6c",
      "outputs": [
        {
          "output_type": "display_data",
          "metadata": {},
          "data": {
            "image/png": "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",
            "text/plain": [
              "Executed Matplotlib figure"
            ]
          }
        }
      ]
    },
    {
      "sourceHash": "938d5bd95ef982c99d4d5e4715e22d7f0111f7d5ac67c81a6977d1c1001ba0f5",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Derivative program: { lambda ; a:f32[3]. let\n",
            "    b:f32[3] = add a 1.0:f32[]\n",
            "    c:f32[3] = mul b b\n",
            "    _:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n",
            "    d:f32[3] = broadcast_in_dim 1.0:f32[]\n",
            "    e:f32[3] = mul b d\n",
            "    f:f32[3] = mul d b\n",
            "    g:f32[3] = add_any e f\n",
            "  in (g,) }\n"
          ]
        }
      ]
    },
    {
      "sourceHash": "7e1b59af8469418c61b7cc4ab3c03604bb60672dbb60114bb83c8b5cd7843dcc",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Captured: { lambda a:f32[3]; b:f32[3]. let\n",
            "    c:f32[3] = add b a\n",
            "    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n",
            "  in (d,) }\n",
            "Explicit: { lambda ; a:f32[3] b:f32[3]. let\n",
            "    c:f32[3] = add a b\n",
            "    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n",
            "  in (d,) }\n"
          ]
        }
      ]
    },
    {
      "sourceHash": "258970a50282e6cf8c7a1f066d744327b6dea81fceb70501cf42e4f1922a4063",
      "outputs": []
    },
    {
      "sourceHash": "9eb88d230fa5d4a0f7dfc3b51f3a0f2d6163618f504439d8004e376560644505",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{ lambda ; a:f32[3]. let\n",
            "    b:f32[3] = add a 2.0:f32[]\n",
            "    c:f32[3] = mul b b\n",
            "    d:f32[] = reduce_sum[axes=(0,) out_sharding=None] c\n",
            "  in (d,) }\n"
          ]
        }
      ]
    },
    {
      "sourceHash": "9298ea2324e8e481d7f09bdb46a90a02dbbfb8cf401f0066354e5c2c66a5183e",
      "outputs": []
    },
    {
      "sourceHash": "6822abe7758b4b5601eddbb8a5afacccb292a01e2c0759d4c476c4982eb79173",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Unrolled: { lambda ; a:f32[]. let\n",
            "    b:f32[] = mul 0.5:f32[] a\n",
            "    c:f32[] = add b 1.0:f32[]\n",
            "    d:f32[] = mul 0.5:f32[] c\n",
            "    e:f32[] = add d 1.0:f32[]\n",
            "    f:f32[] = mul 0.5:f32[] e\n",
            "    g:f32[] = add f 1.0:f32[]\n",
            "    h:f32[] = mul 0.5:f32[] g\n",
            "    i:f32[] = add h 1.0:f32[]\n",
            "  in (i,) }\n",
            "Scanned: { lambda ; a:f32[]. let\n",
            "    b:f32[] _:f32[4] = scan[\n",
            "      _split_transpose=False\n",
            "      jaxpr={ lambda ; c:f32[]. let\n",
            "          d:f32[] = mul 0.5:f32[] c\n",
            "          e:f32[] = add d 1.0:f32[]\n",
            "        in (e, e) }\n",
            "      length=4\n",
            "      linear=(False,)\n",
            "      num_carry=1\n",
            "      num_consts=0\n",
            "      reverse=False\n",
            "      unroll=1\n",
            "    ] a\n",
            "  in (b,) }\n"
          ]
        }
      ]
    },
    {
      "sourceHash": "f846f840f506d7a7dd6da696c6c2f8f165591851d7557de772c17e864a86c22c",
      "outputs": []
    },
    {
      "sourceHash": "91df3cffec8b6f1a93c205e5aa8670a9f6c607898457ca62931a41e873b53195",
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Expected failure: traced boolean used by Python if\n",
            "Repaired: { lambda ; a:f32[3]. let\n",
            "    b:f32[1] = slice[limit_indices=(1,) start_indices=(0,) strides=None] a\n",
            "    c:f32[] = squeeze[dimensions=(0,)] b\n",
            "    d:bool[] = gt c 0.0:f32[]\n",
            "    e:i32[] = convert_element_type[new_dtype=int32 weak_type=False] d\n",
            "    f:f32[] = cond[\n",
            "      branches=(\n",
            "        { lambda ; g:f32[3]. let\n",
            "            h:f32[] = reduce_sum[axes=(0,) out_sharding=None] g\n",
            "            i:f32[] = neg h\n",
            "          in (i,) }\n",
            "        { lambda ; j:f32[3]. let\n",
            "            k:f32[] = reduce_sum[axes=(0,) out_sharding=None] j\n",
            "          in (k,) }\n",
            "      )\n",
            "    ] e a\n",
            "  in (f,) }\n"
          ]
        }
      ]
    }
  ],
  "scope": "Recorded instructor reference run; all script assertions and notebook code cells passed. No accelerator performance claim."
}
