diff --git a/Userland/Libraries/LibJS/Runtime/Value.cpp b/Userland/Libraries/LibJS/Runtime/Value.cpp index 15f7d6a14e..cc87d871f6 100644 --- a/Userland/Libraries/LibJS/Runtime/Value.cpp +++ b/Userland/Libraries/LibJS/Runtime/Value.cpp @@ -1936,7 +1936,7 @@ static Value exp_double(Value base, Value exponent) // 5. If base is -∞𝔽, then if (base.is_negative_infinity()) { - auto is_odd_integral_number = exponent.is_integral_number() && (static_cast(exponent.as_double()) % 2 != 0); + auto is_odd_integral_number = exponent.is_integral_number() && (fmod(exponent.as_double(), 2.0) != 0); // a. If exponent > +0𝔽, then if (exponent.as_double() > 0) { @@ -1958,7 +1958,7 @@ static Value exp_double(Value base, Value exponent) // 7. If base is -0𝔽, then if (base.is_negative_zero()) { - auto is_odd_integral_number = exponent.is_integral_number() && (static_cast(exponent.as_double()) % 2 != 0); + auto is_odd_integral_number = exponent.is_integral_number() && (fmod(exponent.as_double(), 2.0) != 0); // a. If exponent > +0𝔽, then if (exponent.as_double() > 0) {