diff -r 69c0aa8a8185 Modules/mathmodule.c --- a/Modules/mathmodule.c Thu Jun 09 16:30:29 2016 +0300 +++ b/Modules/mathmodule.c Fri Jun 10 16:48:49 2016 -0400 @@ -1921,8 +1921,10 @@ PyDoc_STRVAR(math_pow_doc, "pow(x, y)\n\nReturn x**y (x to the power of y)."); -static const double degToRad = Py_MATH_PI / 180.0; -static const double radToDeg = 180.0 / Py_MATH_PI; +/* Py_MATH_PI / 180.0 and vice versa precomputed + to permit compiling with /fp:strict with MSVC */ +static const double degToRad = 1.74532925199432957692e-2; +static const double radToDeg = 57.2957795130823208768; static PyObject * math_degrees(PyObject *self, PyObject *arg) diff -r 69c0aa8a8185 Python/dtoa.c --- a/Python/dtoa.c Thu Jun 09 16:30:29 2016 +0300 +++ b/Python/dtoa.c Fri Jun 10 16:48:49 2016 -0400 @@ -1213,11 +1213,13 @@ static const double bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 }; static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, - 9007199254740992.*9007199254740992.e-256 + 8.112963841460668e-225 /* = 2^106 * 1e-256 */ }; /* The factor of 2^53 in tinytens[4] helps us avoid setting the underflow */ /* flag unnecessarily. It leads to a song and dance at the end of strtod. */ +/* The constant was further simplified to enable compiling with //fp:strict */ +/* with MSVC. */ #define Scale_Bit 0x10 #define n_bigtens 5