diff --git a/vlib/math/hypot.v b/vlib/math/hypot.v index c7cb9e54df..f4200bdde4 100644 --- a/vlib/math/hypot.v +++ b/vlib/math/hypot.v @@ -12,11 +12,11 @@ pub fn hypot(x f64, y f64) f64 { if x != 0.0 || y != 0.0 { abs_x := abs(x) abs_y := abs(y) - min, max := minmax(abs_x, abs_y) - rat := min / max + cmin, cmax := minmax(abs_x, abs_y) + rat := cmin / cmax root_term := sqrt(1.0 + rat * rat) - if max < max_f64 / root_term { - result = max * root_term + if cmax < max_f64 / root_term { + result = cmax * root_term } else { panic('overflow in hypot_e function') }