double code(double y) {
double tmp;
if (((fabs(y - sqrt((y * y) + 1.0)) - (1.0 / (y + sqrt((y * y) + 1.0)))) * (fabs(y - sqrt((y * y) + 1.0)) - (1.0 / (y + sqrt((y * y) + 1.0))))) == 0.0) {
tmp = 1.0;
} else {
tmp = (exp((fabs(y - sqrt((y * y) + 1.0)) - (1.0 / (y + sqrt((y * y) + 1.0)))) * (fabs(y - sqrt((y * y) + 1.0)) - (1.0 / (y + sqrt((y * y) + 1.0))))) - 1.0) / ((fabs(y - sqrt((y * y) + 1.0)) - (1.0 / (y + sqrt((y * y) + 1.0)))) * (fabs(y - sqrt((y * y) + 1.0)) - (1.0 / (y + sqrt((y * y) + 1.0)))));
}
return tmp;
}
herbie shell --seed 2020338
(FPCore (y)
:name "Kahan's Monster"
:precision binary64
:pre (<= 1.0 y 9999.0)
(if (== (* (- (fabs (- y (sqrt (+ (* y y) 1.0)))) (/ 1.0 (+ y (sqrt (+ (* y y) 1.0))))) (- (fabs (- y (sqrt (+ (* y y) 1.0)))) (/ 1.0 (+ y (sqrt (+ (* y y) 1.0)))))) 0.0) 1.0 (/ (- (exp (* (- (fabs (- y (sqrt (+ (* y y) 1.0)))) (/ 1.0 (+ y (sqrt (+ (* y y) 1.0))))) (- (fabs (- y (sqrt (+ (* y y) 1.0)))) (/ 1.0 (+ y (sqrt (+ (* y y) 1.0))))))) 1.0) (* (- (fabs (- y (sqrt (+ (* y y) 1.0)))) (/ 1.0 (+ y (sqrt (+ (* y y) 1.0))))) (- (fabs (- y (sqrt (+ (* y y) 1.0)))) (/ 1.0 (+ y (sqrt (+ (* y y) 1.0)))))))))