\left(\left(\left(1 + p_1 \cdot q_1\right) + p_2 \cdot p_2\right) - p_1\right) - q_1
\left(\left(\left(1 + p_1 \cdot q_1\right) + p_2 \cdot p_2\right) - p_1\right) - q_1
double code(double p_1, double q_1, double p_2) {
return ((double) (((double) (((double) (((double) (1.0 + ((double) (p_1 * q_1)))) + ((double) (p_2 * p_2)))) - p_1)) - q_1));
}
double code(double p_1, double q_1, double p_2) {
return ((double) (((double) (((double) (((double) (1.0 + ((double) (p_1 * q_1)))) + ((double) (p_2 * p_2)))) - p_1)) - q_1));
}



Bits error versus p_1



Bits error versus q_1



Bits error versus p_2
Results
Initial program 0.0
Final simplification0.0
herbie shell --seed 2020152
(FPCore (p_1 q_1 p_2)
:name "(- (- (+ (+ 1 (* p_1 q_1)) (* p_2 p_2)) p_1) q_1)"
:precision binary64
(- (- (+ (+ 1.0 (* p_1 q_1)) (* p_2 p_2)) p_1) q_1))