"The third argument is a non-negative integer which is the number of digits of precision after the decimal-point to preserve. If the third argument is omitted, the value used is the larger of the two input numbers." On `decimal-mul()` this should be the addition of (number of decimal places of) the two input numbers. - 0.3 * 0.66 = something with (1+2=) 3 decimals. - 0.99 * 0.99 = something with (2+2=) 4 decimals.