| Alternative 1 | |
|---|---|
| Accuracy | 90.0% |
| Cost | 13384 |
\[\begin{array}{l}
\mathbf{if}\;x \leq -60000000:\\
\;\;\;\;x + \cos y\\
\mathbf{elif}\;x \leq 5.5 \cdot 10^{+41}:\\
\;\;\;\;\cos y - \sin y \cdot z\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\]
(FPCore (x y z) :precision binary64 (- (+ x (cos y)) (* z (sin y))))
(FPCore (x y z) :precision binary64 (fma (sin y) (- z) (+ x (cos y))))
double code(double x, double y, double z) {
return (x + cos(y)) - (z * sin(y));
}
double code(double x, double y, double z) {
return fma(sin(y), -z, (x + cos(y)));
}
function code(x, y, z) return Float64(Float64(x + cos(y)) - Float64(z * sin(y))) end
function code(x, y, z) return fma(sin(y), Float64(-z), Float64(x + cos(y))) end
code[x_, y_, z_] := N[(N[(x + N[Cos[y], $MachinePrecision]), $MachinePrecision] - N[(z * N[Sin[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_, z_] := N[(N[Sin[y], $MachinePrecision] * (-z) + N[(x + N[Cos[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\left(x + \cos y\right) - z \cdot \sin y
\mathsf{fma}\left(\sin y, -z, x + \cos y\right)
Initial program 99.9%
Simplified99.9%
[Start]99.9 | \[ \left(x + \cos y\right) - z \cdot \sin y
\] |
|---|---|
cancel-sign-sub-inv [=>]99.9 | \[ \color{blue}{\left(x + \cos y\right) + \left(-z\right) \cdot \sin y}
\] |
+-commutative [=>]99.9 | \[ \color{blue}{\left(-z\right) \cdot \sin y + \left(x + \cos y\right)}
\] |
*-commutative [=>]99.9 | \[ \color{blue}{\sin y \cdot \left(-z\right)} + \left(x + \cos y\right)
\] |
fma-def [=>]99.9 | \[ \color{blue}{\mathsf{fma}\left(\sin y, -z, x + \cos y\right)}
\] |
Final simplification99.9%
| Alternative 1 | |
|---|---|
| Accuracy | 90.0% |
| Cost | 13384 |
| Alternative 2 | |
|---|---|
| Accuracy | 99.9% |
| Cost | 13248 |
| Alternative 3 | |
|---|---|
| Accuracy | 68.1% |
| Cost | 6992 |
| Alternative 4 | |
|---|---|
| Accuracy | 82.7% |
| Cost | 6921 |
| Alternative 5 | |
|---|---|
| Accuracy | 80.9% |
| Cost | 6857 |
| Alternative 6 | |
|---|---|
| Accuracy | 70.4% |
| Cost | 969 |
| Alternative 7 | |
|---|---|
| Accuracy | 70.6% |
| Cost | 712 |
| Alternative 8 | |
|---|---|
| Accuracy | 66.7% |
| Cost | 584 |
| Alternative 9 | |
|---|---|
| Accuracy | 63.0% |
| Cost | 388 |
| Alternative 10 | |
|---|---|
| Accuracy | 61.4% |
| Cost | 328 |
| Alternative 11 | |
|---|---|
| Accuracy | 62.5% |
| Cost | 192 |
| Alternative 12 | |
|---|---|
| Accuracy | 22.0% |
| Cost | 64 |
herbie shell --seed 2023140
(FPCore (x y z)
:name "Graphics.Rasterific.Svg.PathConverter:segmentToBezier from rasterific-svg-0.2.3.1, B"
:precision binary64
(- (+ x (cos y)) (* z (sin y))))