\left(\left(297.85036000000002 + 445267.111480000021 \cdot \frac{\left(\frac{t + 32.183999999999997}{86400} + 2400000.5\right) - 2451545}{36525}\right) - 0.0019142 \cdot {\left(\frac{\left(\frac{t + 32.183999999999997}{86400} + 2400000.5\right) - 2451545}{36525}\right)}^{2}\right) + \frac{{\left(\frac{\left(\frac{t + 32.183999999999997}{86400} + 2400000.5\right) - 2451545}{36525}\right)}^{3}}{189474}\left(\left(297.85036000000002 + 445267.111480000021 \cdot \frac{\left(\frac{t + 32.183999999999997}{86400} + 2400000.5\right) - 2451545}{36525}\right) - 0.0019142 \cdot {\left(\frac{\left(\frac{t + 32.183999999999997}{86400} + 2400000.5\right) - 2451545}{36525}\right)}^{2}\right) + \frac{{\left(\frac{\left(\frac{t + 32.183999999999997}{86400} + 2400000.5\right) - 2451545}{36525}\right)}^{3}}{189474}double code(double t) {
return ((double) (((double) (((double) (297.85036 + ((double) (445267.11148 * ((double) (((double) (((double) (((double) (((double) (t + 32.184)) / 86400.0)) + 2400000.5)) - 2451545.0)) / 36525.0)))))) - ((double) (0.0019142 * ((double) pow(((double) (((double) (((double) (((double) (((double) (t + 32.184)) / 86400.0)) + 2400000.5)) - 2451545.0)) / 36525.0)), 2.0)))))) + ((double) (((double) pow(((double) (((double) (((double) (((double) (((double) (t + 32.184)) / 86400.0)) + 2400000.5)) - 2451545.0)) / 36525.0)), 3.0)) / 189474.0))));
}
double code(double t) {
return ((double) (((double) (((double) (297.85036 + ((double) (445267.11148 * ((double) (((double) (((double) (((double) (((double) (t + 32.184)) / 86400.0)) + 2400000.5)) - 2451545.0)) / 36525.0)))))) - ((double) (0.0019142 * ((double) pow(((double) (((double) (((double) (((double) (((double) (t + 32.184)) / 86400.0)) + 2400000.5)) - 2451545.0)) / 36525.0)), 2.0)))))) + ((double) (((double) pow(((double) (((double) (((double) (((double) (((double) (t + 32.184)) / 86400.0)) + 2400000.5)) - 2451545.0)) / 36525.0)), 3.0)) / 189474.0))));
}



Bits error versus t
Results
Initial program 3.6
Final simplification3.6
herbie shell --seed 2020153
(FPCore (t)
:name "(+ (- (+ 297.85036 (* 445267.11148 (/ (- (+ (/ (+ t 32.184) 86400) 2400000.5) 2451545) 36525))) (* 0.0019142 (pow (/ (- (+ (/ (+ t 32.184) 86400) 2400000.5) 2451545) 36525) 2))) (/ (pow (/ (- (+ (/ (+ t 32.184) 86400) 2400000.5) 2451545) 36525) 3) 189474))"
:precision binary64
(+ (- (+ 297.85036 (* 445267.11148 (/ (- (+ (/ (+ t 32.184) 86400.0) 2400000.5) 2451545.0) 36525.0))) (* 0.0019142 (pow (/ (- (+ (/ (+ t 32.184) 86400.0) 2400000.5) 2451545.0) 36525.0) 2.0))) (/ (pow (/ (- (+ (/ (+ t 32.184) 86400.0) 2400000.5) 2451545.0) 36525.0) 3.0) 189474.0)))