\frac{\left(\left(\left(\left(\left(\left(3 - 30 \cdot u\right) + 108 \cdot {u}^{2}\right) - 120 \cdot {u}^{3}\right) - 240 \cdot {u}^{4}\right) + 864 \cdot {u}^{5}\right) - 960 \cdot {u}^{6}\right) + 384 \cdot {u}^{7}}{64}\frac{\left(\left(\left(\left(\left(\left(3 - 30 \cdot u\right) + 108 \cdot {u}^{2}\right) - 120 \cdot {u}^{3}\right) - 240 \cdot {u}^{4}\right) + 864 \cdot {u}^{5}\right) - 960 \cdot {u}^{6}\right) + 384 \cdot {u}^{7}}{64}double code(double u) {
return ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) (3.0 - ((double) (30.0 * u)))) + ((double) (108.0 * ((double) pow(u, 2.0)))))) - ((double) (120.0 * ((double) pow(u, 3.0)))))) - ((double) (240.0 * ((double) pow(u, 4.0)))))) + ((double) (864.0 * ((double) pow(u, 5.0)))))) - ((double) (960.0 * ((double) pow(u, 6.0)))))) + ((double) (384.0 * ((double) pow(u, 7.0)))))) / 64.0));
}
double code(double u) {
return ((double) (((double) (((double) (((double) (((double) (((double) (((double) (((double) (3.0 - ((double) (30.0 * u)))) + ((double) (108.0 * ((double) pow(u, 2.0)))))) - ((double) (120.0 * ((double) pow(u, 3.0)))))) - ((double) (240.0 * ((double) pow(u, 4.0)))))) + ((double) (864.0 * ((double) pow(u, 5.0)))))) - ((double) (960.0 * ((double) pow(u, 6.0)))))) + ((double) (384.0 * ((double) pow(u, 7.0)))))) / 64.0));
}



Bits error versus u
Results
Initial program 0.1
Final simplification0.1
herbie shell --seed 2020153
(FPCore (u)
:name "(/ (+ (- (+ (- (- (+ (- 3 (* 30 u)) (* 108 (pow u 2))) (* 120 (pow u 3))) (* 240 (pow u 4))) (* 864 (pow u 5))) (* 960 (pow u 6))) (* 384 (pow u 7))) 64)"
:precision binary64
(/ (+ (- (+ (- (- (+ (- 3.0 (* 30.0 u)) (* 108.0 (pow u 2.0))) (* 120.0 (pow u 3.0))) (* 240.0 (pow u 4.0))) (* 864.0 (pow u 5.0))) (* 960.0 (pow u 6.0))) (* 384.0 (pow u 7.0))) 64.0))