\frac{\left(p - \ell \cdot trsi0\right) \cdot n}{p \cdot \left(\left(n + \ell \cdot trsi0\right) - p\right)}\frac{\left(p - \ell \cdot trsi0\right) \cdot n}{p \cdot \left(\left(n + \ell \cdot trsi0\right) - p\right)}double code(double p, double l, double trsi0, double n) {
return ((double) (((double) (((double) (p - ((double) (l * trsi0)))) * n)) / ((double) (p * ((double) (((double) (n + ((double) (l * trsi0)))) - p))))));
}
double code(double p, double l, double trsi0, double n) {
return ((double) (((double) (((double) (p - ((double) (l * trsi0)))) * n)) / ((double) (p * ((double) (((double) (n + ((double) (l * trsi0)))) - p))))));
}



Bits error versus p



Bits error versus l



Bits error versus trsi0



Bits error versus n
Results
Initial program 23.7
Final simplification23.7
herbie shell --seed 2020153
(FPCore (p l trsi0 n)
:name "(/ (* (- p (* l trsi0)) n) (* p (- (+ n (* l trsi0)) p)))"
:precision binary64
(/ (* (- p (* l trsi0)) n) (* p (- (+ n (* l trsi0)) p))))