
(FPCore (a b_2 c) :precision binary64 (/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))
double code(double a, double b_2, double c) {
return (-b_2 + sqrt(((b_2 * b_2) - (a * c)))) / a;
}
real(8) function code(a, b_2, c)
real(8), intent (in) :: a
real(8), intent (in) :: b_2
real(8), intent (in) :: c
code = (-b_2 + sqrt(((b_2 * b_2) - (a * c)))) / a
end function
public static double code(double a, double b_2, double c) {
return (-b_2 + Math.sqrt(((b_2 * b_2) - (a * c)))) / a;
}
def code(a, b_2, c): return (-b_2 + math.sqrt(((b_2 * b_2) - (a * c)))) / a
function code(a, b_2, c) return Float64(Float64(Float64(-b_2) + sqrt(Float64(Float64(b_2 * b_2) - Float64(a * c)))) / a) end
function tmp = code(a, b_2, c) tmp = (-b_2 + sqrt(((b_2 * b_2) - (a * c)))) / a; end
code[a_, b$95$2_, c_] := N[(N[((-b$95$2) + N[Sqrt[N[(N[(b$95$2 * b$95$2), $MachinePrecision] - N[(a * c), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / a), $MachinePrecision]
\begin{array}{l}
\\
\frac{\left(-b\_2\right) + \sqrt{b\_2 \cdot b\_2 - a \cdot c}}{a}
\end{array}
herbie shell --seed 2024170
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
:herbie-expected 10
:alt
(! :herbie-platform default (let ((sqtD (let ((x (* (sqrt (fabs a)) (sqrt (fabs c))))) (if (== (copysign a c) a) (* (sqrt (- (fabs b_2) x)) (sqrt (+ (fabs b_2) x))) (hypot b_2 x))))) (if (< b_2 0) (/ (- sqtD b_2) a) (/ (- c) (+ b_2 sqtD)))))
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))
Please file a bug report with this information.
| timeline-push!: contract violation expected: jsexpr? given: '#hash((#t . 0.04680636897137447) (unknown . 0.9517295024179475) (precondition . 0.0014641286106780171) (valid . 0.0)) in: the repeated argument of (-> symbol? jsexpr? ... void?) contract from: <pkgs>/herbie/timeline.rkt blaming: <pkgs>/herbie/searchreals.rkt (assuming the contract is correct) at: <pkgs>/herbie/timeline.rkt:10:3 | L | C | |
|---|---|---|---|
| raise-blame-error | /usr/local/racket/collects/racket/contract/private/blame.rkt | 346 | 0 |
| loop | /usr/local/racket/collects/racket/contract/private/list.rkt | 991 | 12 |
| (unnamed) | .../private/arrow-val-first.rkt | 486 | 18 |
| find-intervals | /home/nightlies/herbie/zane-job-abstraction3/src/searchreals.rkt | 86 | 0 |
| make-sampler | /home/nightlies/herbie/zane-job-abstraction3/src/sampling.rkt | 110 | 0 |
| sample-points | /home/nightlies/herbie/zane-job-abstraction3/src/sampling.rkt | 244 | 0 |
| setup-context! | /home/nightlies/herbie/zane-job-abstraction3/src/mainloop.rkt | 45 | 0 |
| get-alternatives/report | /home/nightlies/herbie/zane-job-abstraction3/src/sandbox.rkt | 166 | 0 |
| (unnamed) | /home/nightlies/herbie/zane-job-abstraction3/src/sandbox.rkt | 260 | 6 |
| (unnamed) | /usr/local/racket/share/pkgs/profile-lib/main.rkt | 40 | 10 |
| profile-thunk | /usr/local/racket/share/pkgs/profile-lib/main.rkt | 9 | 0 |
| (unnamed) | /usr/local/racket/collects/racket/engine.rkt | 42 | 24 |