)]}'
{
  "commit": "7feb93cdd7b2f19d7bbd974f273e3e1e67420249",
  "tree": "921a24dedb5e768201c479a72268cf778f62b522",
  "parents": [
    "5167d7202b1e43418ecb2928841dff51cb011221"
  ],
  "author": {
    "name": "Sven van Haastregt",
    "email": "sven.vanhaastregt@arm.com",
    "time": "Wed Mar 05 01:52:28 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 04 16:52:28 2025 -0800"
  },
  "message": "math_brute_force: treat reciprocal as unary function (#2281)\n\nTreat reciprocal as a unary function, instead of handling it through the\nbinary function testing mechanism and special-casing it there.\n\nThis addresses two shortcomings of the previous implementation:\n\n- Testing took significantly longer as the entire input domain was\ntested many times (e.g. fp16 reciprocal has only 2^16 possible input\nvalues, but binary function testing iterates over 2^16 * 2^16 input\nvalues).\n\n- The reciprocal test kernel was identical to the divide kernel. Thus\nthe device compiler would see a regular divide operation instead of a\nreciprocal operation and would be unlikely to emit a specialized\nreciprocal sequence.\n\nThis reverts all of the changes in binary_operator*.cpp made by\nbcfa1f7c2 (\"Added corrections to re-enable reciprocal test in\nmath_brute_force suite for relaxed math mode (#2221)\", 2025-02-04).\n\nSigned-off-by: Sven van Haastregt \u003csven.vanhaastregt@arm.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4dce5052b8f5381a250ce46aa4664bb1ac578980",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/binary_operator_double.cpp",
      "new_id": "35d93f843fd7a731178bf9d468ca6170da0b2f70",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/binary_operator_double.cpp"
    },
    {
      "type": "modify",
      "old_id": "c0c11c2e56c43d224baa76f0bfd01da1dedf208a",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/binary_operator_float.cpp",
      "new_id": "cce6e122b7f23be5e5debe4c297a7e506ada0f66",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/binary_operator_float.cpp"
    },
    {
      "type": "modify",
      "old_id": "3bd45857c202f72abf63a6773b7e62dd14d0e9b7",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/binary_operator_half.cpp",
      "new_id": "09d3ea0167d4bcb3cd3bed4d9842adc868c85ab1",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/binary_operator_half.cpp"
    },
    {
      "type": "modify",
      "old_id": "14e0830ae37c9d32361c5e89e395ac758dbb629f",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/function_list.cpp",
      "new_id": "74f299304bb02280b9ba5974a6901eed0ca6a5ea",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/function_list.cpp"
    },
    {
      "type": "modify",
      "old_id": "4762a81d56925be662390b9c8c15591941d539f4",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/unary_double.cpp",
      "new_id": "5c537332a80a15ad2350021978bc23a87e8d6c57",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/unary_double.cpp"
    },
    {
      "type": "modify",
      "old_id": "0a2af3be9d52fd6e7c07dc2119f4e718a40a0d6c",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/unary_float.cpp",
      "new_id": "ae0a0646a79894b33ef59cd5aef6c0c196d97b19",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/unary_float.cpp"
    },
    {
      "type": "modify",
      "old_id": "877e1fad1a6889f307b10aceafc1ce14d7462d9a",
      "old_mode": 33188,
      "old_path": "test_conformance/math_brute_force/unary_half.cpp",
      "new_id": "56565cc3d37c20c7586cb8fe3fe8497e30cfb424",
      "new_mode": 33188,
      "new_path": "test_conformance/math_brute_force/unary_half.cpp"
    }
  ]
}
