- // Coefficients of a 3rd order polynomial fit based on fishtest data
- // for two parameters needed to transform eval to the argument of a
- // logistic function.
- double as[] = {-1.17202460e-01, 5.94729104e-01, 1.12065546e+01, 1.22606222e+02};
- double bs[] = {-1.79066759, 11.30759193, -17.43677612, 36.47147479};
+ // The coefficients of a third-order polynomial fit is based on the fishtest data
+ // for two parameters that need to transform eval to the argument of a logistic
+ // function.
+ constexpr double as[] = { -0.58270499, 2.68512549, 15.24638015, 344.49745382};
+ constexpr double bs[] = { -2.65734562, 15.96509799, -20.69040836, 73.61029937 };
+
+ // Enforce that NormalizeToPawnValue corresponds to a 50% win rate at ply 64
+ static_assert(UCI::NormalizeToPawnValue == int(as[0] + as[1] + as[2] + as[3]));
+