\begin{array}{l}
\mathbf{if}\;\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10^{4} \cdot \left(y + 1\right)\right)} = 0.0:\\
\;\;\;\;1\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10^{4} \cdot \left(y + 1\right)\right)}} - 1}{\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10^{4} \cdot \left(y + 1\right)\right)}}\\
\end{array}double code(double y) {
double VAR;
if ((((double) (((double) (((double) (((double) fabs(((double) (y - ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))) - ((double) (1.0 / ((double) (y + ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))))) * ((double) (((double) fabs(((double) (y - ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))) - ((double) (1.0 / ((double) (y + ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))))))) + ((double) pow(((double) pow(10.0, -300.0)), ((double) (10000.0 * ((double) (y + 1.0)))))))) == 0.0)) {
VAR = 1.0;
} else {
VAR = ((double) (((double) (((double) exp(((double) (((double) (((double) (((double) fabs(((double) (y - ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))) - ((double) (1.0 / ((double) (y + ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))))) * ((double) (((double) fabs(((double) (y - ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))) - ((double) (1.0 / ((double) (y + ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))))))) + ((double) pow(((double) pow(10.0, -300.0)), ((double) (10000.0 * ((double) (y + 1.0)))))))))) - 1.0)) / ((double) (((double) (((double) (((double) fabs(((double) (y - ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))) - ((double) (1.0 / ((double) (y + ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))))) * ((double) (((double) fabs(((double) (y - ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))) - ((double) (1.0 / ((double) (y + ((double) sqrt(((double) (((double) (y * y)) + 1.0)))))))))))) + ((double) pow(((double) pow(10.0, -300.0)), ((double) (10000.0 * ((double) (y + 1.0))))))))));
}
return VAR;
}
Please include this information when filing a bug report:
herbie shell --seed 2020165
(FPCore (y)
:name "Kahan's Unum-Targeted 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)))))) (pow (pow 10.0 -300.0) (* 10000.0 (+ 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)))))) (pow (pow 10.0 -300.0) (* 10000.0 (+ 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)))))) (pow (pow 10.0 -300.0) (* 10000.0 (+ y 1.0)))))))
| ival-hi: contract violation expected: ival? given: #<procedure:interval> | L | C | |
|---|---|---|---|
| for-loop | /data/pavpan/nightlies/herbie/ival-find-range/src/sampling.rkt | 37 | 11 |
| hyperrect-weight | /data/pavpan/nightlies/herbie/ival-find-range/src/sampling.rkt | 36 | 0 |
| total-weight | /data/pavpan/nightlies/herbie/ival-find-range/src/sampling.rkt | 113 | 2 |
| log-space-improvement | /data/pavpan/nightlies/herbie/ival-find-range/src/sampling.rkt | 110 | 0 |
| (unnamed) | /opt/racket-7.5/collects/racket/contract/private/arrow-higher-order.rkt | 375 | 33 |
| get-hyperrects | /data/pavpan/nightlies/herbie/ival-find-range/src/sampling.rkt | 123 | 0 |
| make-sampler | /data/pavpan/nightlies/herbie/ival-find-range/src/sampling.rkt | 147 | 0 |
| prepare-points-intervals | /data/pavpan/nightlies/herbie/ival-find-range/src/points.rkt | 90 | 0 |
| run-improve47 | /data/pavpan/nightlies/herbie/ival-find-range/src/mainloop.rkt | 365 | 0 |
| .../more-scheme.rkt:261:28 | unknown | ||
| run | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 39 | 2 |
| profile-thunk16 | /opt/racket-7.5/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /opt/racket-7.5/collects/racket/private/more-scheme.rkt | 261 | 28 |
herbie shell --seed 2020165
(FPCore (y)
:name "Kahan's Unum-Targeted 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)))))) (pow (pow 10.0 -300.0) (* 10000.0 (+ 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)))))) (pow (pow 10.0 -300.0) (* 10000.0 (+ 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)))))) (pow (pow 10.0 -300.0) (* 10000.0 (+ y 1.0)))))))