
(FPCore (x) :precision binary64 (* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))
double code(double x) {
return 2.0 * atan(sqrt(((1.0 - x) / (1.0 + x))));
}
real(8) function code(x)
real(8), intent (in) :: x
code = 2.0d0 * atan(sqrt(((1.0d0 - x) / (1.0d0 + x))))
end function
public static double code(double x) {
return 2.0 * Math.atan(Math.sqrt(((1.0 - x) / (1.0 + x))));
}
def code(x): return 2.0 * math.atan(math.sqrt(((1.0 - x) / (1.0 + x))))
function code(x) return Float64(2.0 * atan(sqrt(Float64(Float64(1.0 - x) / Float64(1.0 + x))))) end
function tmp = code(x) tmp = 2.0 * atan(sqrt(((1.0 - x) / (1.0 + x)))); end
code[x_] := N[(2.0 * N[ArcTan[N[Sqrt[N[(N[(1.0 - x), $MachinePrecision] / N[(1.0 + x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
2 \cdot \tan^{-1} \left(\sqrt{\frac{1 - x}{1 + x}}\right)
\end{array}
herbie shell --seed 2024261
(FPCore (x)
:name "arccos"
:precision binary64
(* 2.0 (atan (sqrt (/ (- 1.0 x) (+ 1.0 x))))))
Please file a bug report with this information.
| run-egg: cannot find proof; start and end are not equal. start: #s(approx (- 1 x) (-.f64 #s(literal 1 binary64) x)) end: (fma.f64 #s(literal -2 binary64) x #s(literal 2 binary64)) | L | C | |
|---|---|---|---|
| add-soundiness | /home/nightlies/herbie/artem-batch-finish-rewrite/src/core/soundiness.rkt | 140 | 0 |
| extract! | /home/nightlies/herbie/artem-batch-finish-rewrite/src/core/mainloop.rkt | 79 | 0 |
| run-improve! | /home/nightlies/herbie/artem-batch-finish-rewrite/src/core/mainloop.rkt | 45 | 0 |
| get-alternatives/report | /home/nightlies/herbie/artem-batch-finish-rewrite/src/api/sandbox.rkt | 186 | 0 |
| (unnamed) | /home/nightlies/herbie/artem-batch-finish-rewrite/src/api/sandbox.rkt | 282 | 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 |