
(FPCore (d1 d2 d3) :precision binary64 (+ (+ (* d1 3.0) (* d1 d2)) (* d1 d3)))
double code(double d1, double d2, double d3) {
return ((d1 * 3.0) + (d1 * d2)) + (d1 * d3);
}
real(8) function code(d1, d2, d3)
real(8), intent (in) :: d1
real(8), intent (in) :: d2
real(8), intent (in) :: d3
code = ((d1 * 3.0d0) + (d1 * d2)) + (d1 * d3)
end function
public static double code(double d1, double d2, double d3) {
return ((d1 * 3.0) + (d1 * d2)) + (d1 * d3);
}
def code(d1, d2, d3): return ((d1 * 3.0) + (d1 * d2)) + (d1 * d3)
function code(d1, d2, d3) return Float64(Float64(Float64(d1 * 3.0) + Float64(d1 * d2)) + Float64(d1 * d3)) end
function tmp = code(d1, d2, d3) tmp = ((d1 * 3.0) + (d1 * d2)) + (d1 * d3); end
code[d1_, d2_, d3_] := N[(N[(N[(d1 * 3.0), $MachinePrecision] + N[(d1 * d2), $MachinePrecision]), $MachinePrecision] + N[(d1 * d3), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}
\\
\left(d1 \cdot 3 + d1 \cdot d2\right) + d1 \cdot d3
\end{array}
herbie shell --seed 2024277
(FPCore (d1 d2 d3)
:name "FastMath test3"
:precision binary64
:alt
(! :herbie-platform default (* d1 (+ 3 d2 d3)))
(+ (+ (* d1 3.0) (* d1 d2)) (* d1 d3)))
Please file a bug report with this information.
| rival-apply: contract violation expected: (or/c ^TYPE? boolean?) given: 0 in: an element of the 2nd argument of (-> rival-machine? (vectorof (or/c ^TYPE? boolean?)) (vectorof any/c)) contract from: <pkgs>/rival/main.rkt blaming: <pkgs>/herbie/core/rival.rkt (assuming the contract is correct) at: <pkgs>/rival/main.rkt:95:24 | L | C | |
|---|---|---|---|
| raise-blame-error | /usr/share/racket/collects/racket/contract/private/blame.rkt | 346 | 0 |
| loop | .../private/map.rkt | 40 | 19 |
| vector-map/update | /usr/share/racket/collects/racket/vector.rkt | 62 | 0 |
| vector-map | /usr/share/racket/collects/racket/vector.rkt | 106 | 0 |
| rival-apply | /home/nightlies/.local/share/racket/8.10/pkgs/rival/eval/main.rkt | 65 | 0 |
| (unnamed) | /usr/share/racket/collects/racket/contract/private/arrow-val-first.rkt | 486 | 18 |
| (unnamed) | /home/nightlies/herbie/zane-concrete-values/src/core/rival.rkt | 76 | 4 |
| real-apply | /home/nightlies/herbie/zane-concrete-values/src/core/rival.rkt | 67 | 0 |
| (unnamed) | .../private/arrow-val-first.rkt | 486 | 18 |
| <eval-prog-real> | /home/nightlies/herbie/zane-concrete-values/src/core/sampling.rkt | 136 | 2 |
| compute-local-errors | /home/nightlies/herbie/zane-concrete-values/src/core/localize.rkt | 216 | 0 |
| actual-errors | /home/nightlies/herbie/zane-concrete-values/src/core/explain.rkt | 35 | 0 |
| generate-timelines | /home/nightlies/herbie/zane-concrete-values/src/core/explain.rkt | 498 | 0 |
| explain! | /home/nightlies/herbie/zane-concrete-values/src/core/mainloop.rkt | 323 | 0 |
| run-improve! | /home/nightlies/herbie/zane-concrete-values/src/core/mainloop.rkt | 45 | 0 |
| get-alternatives/report | /home/nightlies/herbie/zane-concrete-values/src/api/sandbox.rkt | 186 | 0 |
| (unnamed) | /home/nightlies/herbie/zane-concrete-values/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 |