Data source: http://rosettacode.org/wiki/Numeric_error_propagation