\left(_kI + _kP\right) + \frac{_kD \cdot \left(2 \cdot wn\right)}{1 + wn}\left(_kI + _kP\right) + \frac{_kD \cdot \left(2 \cdot wn\right)}{1 + wn}double code(double _kI, double _kP, double _kD, double wn) {
return ((double) (((double) (_kI + _kP)) + ((double) (((double) (_kD * ((double) (2.0 * wn)))) / ((double) (1.0 + wn))))));
}
double code(double _kI, double _kP, double _kD, double wn) {
return ((double) (((double) (_kI + _kP)) + ((double) (((double) (_kD * ((double) (2.0 * wn)))) / ((double) (1.0 + wn))))));
}



Bits error versus _kI



Bits error versus _kP



Bits error versus _kD



Bits error versus wn
Results
Initial program 8.1
Final simplification8.1
herbie shell --seed 2020153
(FPCore (_kI _kP _kD wn)
:name "(+ (+ _kI _kP) (/ (* _kD (* 2 wn)) (+ 1 wn)))"
:precision binary64
(+ (+ _kI _kP) (/ (* _kD (* 2.0 wn)) (+ 1.0 wn))))