The function is_right_triangle(a, b, c) returns True if a triangle with sides a, b, c is a right triangle. The sides can be given in any order.
It works perfectly for integer sides like 3, 4, 5. But with decimal values like 0.3, 0.4, 0.5 — a perfectly valid right triangle — it returns False.
The formula is correct. The math is correct. So why does it fail?