Piotr Caban (@piotr) commented about dlls/msvcp140_2/math.c:
+ * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <math.h> + +double __std_smf_hypot3(double x, double y, double z) +{ + return sqrt(x * x + y * y + z * z); This should handle overflow during computations correctly:
return hypot(hypot(x, y), z);
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4790#note_56817