{
  "kind": "illustrative_calculation_not_benchmark",
  "rrf": {
    "k": 60,
    "rankings": [
      [
        "A",
        "B",
        "C"
      ],
      [
        "C",
        "B",
        "D"
      ]
    ],
    "results": [
      {
        "id": "C",
        "ranks": [
          3,
          1
        ],
        "score": 0.032266458495966696
      },
      {
        "id": "B",
        "ranks": [
          2,
          2
        ],
        "score": 0.03225806451612903
      },
      {
        "id": "A",
        "ranks": [
          1,
          null
        ],
        "score": 0.01639344262295082
      },
      {
        "id": "D",
        "ranks": [
          null,
          3
        ],
        "score": 0.015873015873015872
      }
    ]
  },
  "roofline": {
    "units": "decimal TB/s, TFLOP/s; ideal upper bounds, not measured hardware",
    "configurations": [
      {
        "name": "baseline",
        "peakTFLOPS": 200,
        "bandwidthTBps": 2,
        "results": [
          {
            "flopsPerByte": 1,
            "upperBoundTFLOPS": 2
          },
          {
            "flopsPerByte": 10,
            "upperBoundTFLOPS": 20
          },
          {
            "flopsPerByte": 100,
            "upperBoundTFLOPS": 200
          },
          {
            "flopsPerByte": 200,
            "upperBoundTFLOPS": 200
          }
        ]
      },
      {
        "name": "double-bandwidth",
        "peakTFLOPS": 200,
        "bandwidthTBps": 4,
        "results": [
          {
            "flopsPerByte": 1,
            "upperBoundTFLOPS": 4
          },
          {
            "flopsPerByte": 10,
            "upperBoundTFLOPS": 40
          },
          {
            "flopsPerByte": 100,
            "upperBoundTFLOPS": 200
          },
          {
            "flopsPerByte": 200,
            "upperBoundTFLOPS": 200
          }
        ]
      },
      {
        "name": "double-compute",
        "peakTFLOPS": 400,
        "bandwidthTBps": 2,
        "results": [
          {
            "flopsPerByte": 1,
            "upperBoundTFLOPS": 2
          },
          {
            "flopsPerByte": 10,
            "upperBoundTFLOPS": 20
          },
          {
            "flopsPerByte": 100,
            "upperBoundTFLOPS": 200
          },
          {
            "flopsPerByte": 200,
            "upperBoundTFLOPS": 400
          }
        ]
      }
    ]
  }
}
