+ // Double is not strictly spoken a Mathematics commutative group because
+ // computers design limits their bits representation size.
+ // As a result, the order of arithmetic operation matters.
+ // In a sum, smallest numbers should be introduced first for a maximum of
+ // precision. In other words, the sum
+ // 10 * Math.log10(spacing / 50.0)
+ // + osnrPolynomialFits.get(0)
+ // + osnrPolynomialFits.get(1) * pwrIn
+ // + osnrPolynomialFits.get(2) * Math.pow(pwrIn, 2)
+ // + osnrPolynomialFits.get(3) * Math.pow(pwrIn, 3)
+ // is not equal to its reverse form
+ // osnrPolynomialFits.get(3) * Math.pow(pwrIn, 3)
+ // + osnrPolynomialFits.get(2) * Math.pow(pwrIn, 2)
+ // + osnrPolynomialFits.get(1) * pwrIn
+ // + osnrPolynomialFits.get(0)
+ // + 10 * Math.log10(spacing / 50.0)
+ // and the more precise first form should be preferred here.
+ onsrLin += Math.pow(10, -contrib / 10);