
(FPCore (y)
:precision binary64
(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)))))))))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;
}
real(8) function code(y)
real(8), intent (in) :: y
real(8) :: tmp
if (((abs((y - sqrt(((y * y) + 1.0d0)))) - (1.0d0 / (y + sqrt(((y * y) + 1.0d0))))) * (abs((y - sqrt(((y * y) + 1.0d0)))) - (1.0d0 / (y + sqrt(((y * y) + 1.0d0)))))) == 0.0d0) then
tmp = 1.0d0
else
tmp = (exp(((abs((y - sqrt(((y * y) + 1.0d0)))) - (1.0d0 / (y + sqrt(((y * y) + 1.0d0))))) * (abs((y - sqrt(((y * y) + 1.0d0)))) - (1.0d0 / (y + sqrt(((y * y) + 1.0d0))))))) - 1.0d0) / ((abs((y - sqrt(((y * y) + 1.0d0)))) - (1.0d0 / (y + sqrt(((y * y) + 1.0d0))))) * (abs((y - sqrt(((y * y) + 1.0d0)))) - (1.0d0 / (y + sqrt(((y * y) + 1.0d0))))))
end if
code = tmp
end function
public static double code(double y) {
double tmp;
if (((Math.abs((y - Math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + Math.sqrt(((y * y) + 1.0))))) * (Math.abs((y - Math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + Math.sqrt(((y * y) + 1.0)))))) == 0.0) {
tmp = 1.0;
} else {
tmp = (Math.exp(((Math.abs((y - Math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + Math.sqrt(((y * y) + 1.0))))) * (Math.abs((y - Math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + Math.sqrt(((y * y) + 1.0))))))) - 1.0) / ((Math.abs((y - Math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + Math.sqrt(((y * y) + 1.0))))) * (Math.abs((y - Math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + Math.sqrt(((y * y) + 1.0))))));
}
return tmp;
}
def code(y): tmp = 0 if ((math.fabs((y - math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + math.sqrt(((y * y) + 1.0))))) * (math.fabs((y - math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + math.sqrt(((y * y) + 1.0)))))) == 0.0: tmp = 1.0 else: tmp = (math.exp(((math.fabs((y - math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + math.sqrt(((y * y) + 1.0))))) * (math.fabs((y - math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + math.sqrt(((y * y) + 1.0))))))) - 1.0) / ((math.fabs((y - math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + math.sqrt(((y * y) + 1.0))))) * (math.fabs((y - math.sqrt(((y * y) + 1.0)))) - (1.0 / (y + math.sqrt(((y * y) + 1.0)))))) return tmp
function code(y) tmp = 0.0 if (Float64(Float64(abs(Float64(y - sqrt(Float64(Float64(y * y) + 1.0)))) - Float64(1.0 / Float64(y + sqrt(Float64(Float64(y * y) + 1.0))))) * Float64(abs(Float64(y - sqrt(Float64(Float64(y * y) + 1.0)))) - Float64(1.0 / Float64(y + sqrt(Float64(Float64(y * y) + 1.0)))))) == 0.0) tmp = 1.0; else tmp = Float64(Float64(exp(Float64(Float64(abs(Float64(y - sqrt(Float64(Float64(y * y) + 1.0)))) - Float64(1.0 / Float64(y + sqrt(Float64(Float64(y * y) + 1.0))))) * Float64(abs(Float64(y - sqrt(Float64(Float64(y * y) + 1.0)))) - Float64(1.0 / Float64(y + sqrt(Float64(Float64(y * y) + 1.0))))))) - 1.0) / Float64(Float64(abs(Float64(y - sqrt(Float64(Float64(y * y) + 1.0)))) - Float64(1.0 / Float64(y + sqrt(Float64(Float64(y * y) + 1.0))))) * Float64(abs(Float64(y - sqrt(Float64(Float64(y * y) + 1.0)))) - Float64(1.0 / Float64(y + sqrt(Float64(Float64(y * y) + 1.0))))))); end return tmp end
function tmp_2 = code(y) tmp = 0.0; if (((abs((y - sqrt(((y * y) + 1.0)))) - (1.0 / (y + sqrt(((y * y) + 1.0))))) * (abs((y - sqrt(((y * y) + 1.0)))) - (1.0 / (y + sqrt(((y * y) + 1.0)))))) == 0.0) tmp = 1.0; else tmp = (exp(((abs((y - sqrt(((y * y) + 1.0)))) - (1.0 / (y + sqrt(((y * y) + 1.0))))) * (abs((y - sqrt(((y * y) + 1.0)))) - (1.0 / (y + sqrt(((y * y) + 1.0))))))) - 1.0) / ((abs((y - sqrt(((y * y) + 1.0)))) - (1.0 / (y + sqrt(((y * y) + 1.0))))) * (abs((y - sqrt(((y * y) + 1.0)))) - (1.0 / (y + sqrt(((y * y) + 1.0)))))); end tmp_2 = tmp; end
code[y_] := If[Equal[N[(N[(N[Abs[N[(y - N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(1.0 / N[(y + N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Abs[N[(y - N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(1.0 / N[(y + N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 0.0], 1.0, N[(N[(N[Exp[N[(N[(N[Abs[N[(y - N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(1.0 / N[(y + N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Abs[N[(y - N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(1.0 / N[(y + N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - 1.0), $MachinePrecision] / N[(N[(N[Abs[N[(y - N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(1.0 / N[(y + N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Abs[N[(y - N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[(1.0 / N[(y + N[Sqrt[N[(N[(y * y), $MachinePrecision] + 1.0), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]
\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) = 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)} - 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)}\\
\end{array}
Please include this information when filing a bug report:
herbie shell --seed 2023241
(FPCore (y)
:name "Kahan's Monster"
:precision binary64
:pre (and (<= 1.0 y) (<= 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)))))))))
| match: no matching clause for 'ival | L | C | |
|---|---|---|---|
| compile-progs | /home/nightlies/herbie/arb-support/src/programs.rkt | 122 | 0 |
| make-search-func | /home/nightlies/herbie/arb-support/src/ground-truth.rkt | 20 | 0 |
| sample-points | /home/nightlies/herbie/arb-support/src/ground-truth.rkt | 64 | 0 |
| setup-context! | /home/nightlies/herbie/arb-support/src/mainloop.rkt | 293 | 0 |
| get-alternatives/report | /home/nightlies/herbie/arb-support/src/sandbox.rkt | 148 | 0 |
| (unnamed) | /home/nightlies/herbie/arb-support/src/sandbox.rkt | 247 | 6 |
| (unnamed) | /usr/share/racket/pkgs/profile-lib/main.rkt | 40 | 10 |
| profile-thunk | /usr/share/racket/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /usr/share/racket/collects/racket/engine.rkt | 42 | 24 |