Error message
In the message, %s marks a value that the engine fills in when it raises the error.
The story
Your script asked for a square root, and rush answered: no real square root. Let's see why. Math.sqrt looks for a real number that, multiplied by itself, gives your operand. For nine, that is three. For two, it is a long, exact decimal that rush trims by its own rules. But for a negative number, such as minus four, no real number works, because a real number times itself is never negative. And a NaN, a not-a-number, is simply not a value this engine will ever store. Rather than hand you a fake answer, rush refuses by name and shows you the operand it saw, along with the reason. Imagine a script that computes the distance from a formula, and a rounding step lets the value dip just below zero, say minus zero point zero zero one. The square root fails, and now you know exactly where. The fix is to guard the call: check that the value is zero or more before you take the root, or take the absolute value if that is what you mean. Rush would rather stop loudly than let a silent wrong number travel through the rest of your program. Read the message, find the operand, and fix the source of the negative.
Text from the Rush engine's error catalogue.
