{
  "protocol": "cast(s + cast(1e-4)) for 10000 steps; torch CPU dtype casts",
  "n_steps": 10000,
  "step": 0.0001,
  "final": {
    "fp32": 1.0000535249710083,
    "fp16": 0.25,
    "bf16": 0.03125
  },
  "precision_rows": [
    {
      "input": 1.0,
      "fp32": 1.0,
      "fp16": 1.0,
      "bf16": 1.0
    },
    {
      "input": 1.000244140625,
      "fp32": 1.000244140625,
      "fp16": 1.0,
      "bf16": 1.0
    },
    {
      "input": 1.0009765625,
      "fp32": 1.0009765625,
      "fp16": 1.0009765625,
      "bf16": 1.0
    }
  ],
  "overflow": {
    "value": 100000.0,
    "fp16": "inf",
    "bf16": 99840.0
  },
  "figure": {
    "file": "bf16-accumulation-swamping.png",
    "dpi": 200,
    "generator": "reproduce.py (matplotlib)"
  },
  "hardware_example": {
    "gpu": "NVIDIA A100-SXM4-40GB",
    "native_bf16_tensor_cores": true,
    "note": "Hardware banner from one Colab A100 run; the numeric demos below are dtype casts and do not require that GPU."
  },
  "torch_version": "2.13.0"
}
