make fallback hypot() behave the same for inf and nan as standard implementations
fix #6074, macroexpander bug in `let`