| Alternative 1 | |
|---|---|
| Accuracy | 73.4% |
| Cost | 34376 |
(FPCore (x y z t a b) :precision binary64 (- (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) (/ a (* b 3.0))))
(FPCore (x y z t a b)
:precision binary64
(let* ((t_1 (/ a (* b 3.0))))
(if (<= (* z t) -2e+197)
(- (sqrt (* (pow (cos y) 2.0) (* x 4.0))) t_1)
(if (<= (* z t) 1e+180)
(-
(*
2.0
(*
(sqrt x)
(-
(* (cos y) (cos (/ 1.0 (pow (cbrt (/ (/ -3.0 z) t)) 3.0))))
(* (sin y) (sin (* t (/ z -3.0)))))))
t_1)
(+ (* (cos y) (* 2.0 (sqrt x))) (/ (/ a b) -3.0))))))double code(double x, double y, double z, double t, double a, double b) {
return ((2.0 * sqrt(x)) * cos((y - ((z * t) / 3.0)))) - (a / (b * 3.0));
}
double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a / (b * 3.0);
double tmp;
if ((z * t) <= -2e+197) {
tmp = sqrt((pow(cos(y), 2.0) * (x * 4.0))) - t_1;
} else if ((z * t) <= 1e+180) {
tmp = (2.0 * (sqrt(x) * ((cos(y) * cos((1.0 / pow(cbrt(((-3.0 / z) / t)), 3.0)))) - (sin(y) * sin((t * (z / -3.0))))))) - t_1;
} else {
tmp = (cos(y) * (2.0 * sqrt(x))) + ((a / b) / -3.0);
}
return tmp;
}
public static double code(double x, double y, double z, double t, double a, double b) {
return ((2.0 * Math.sqrt(x)) * Math.cos((y - ((z * t) / 3.0)))) - (a / (b * 3.0));
}
public static double code(double x, double y, double z, double t, double a, double b) {
double t_1 = a / (b * 3.0);
double tmp;
if ((z * t) <= -2e+197) {
tmp = Math.sqrt((Math.pow(Math.cos(y), 2.0) * (x * 4.0))) - t_1;
} else if ((z * t) <= 1e+180) {
tmp = (2.0 * (Math.sqrt(x) * ((Math.cos(y) * Math.cos((1.0 / Math.pow(Math.cbrt(((-3.0 / z) / t)), 3.0)))) - (Math.sin(y) * Math.sin((t * (z / -3.0))))))) - t_1;
} else {
tmp = (Math.cos(y) * (2.0 * Math.sqrt(x))) + ((a / b) / -3.0);
}
return tmp;
}
function code(x, y, z, t, a, b) return Float64(Float64(Float64(2.0 * sqrt(x)) * cos(Float64(y - Float64(Float64(z * t) / 3.0)))) - Float64(a / Float64(b * 3.0))) end
function code(x, y, z, t, a, b) t_1 = Float64(a / Float64(b * 3.0)) tmp = 0.0 if (Float64(z * t) <= -2e+197) tmp = Float64(sqrt(Float64((cos(y) ^ 2.0) * Float64(x * 4.0))) - t_1); elseif (Float64(z * t) <= 1e+180) tmp = Float64(Float64(2.0 * Float64(sqrt(x) * Float64(Float64(cos(y) * cos(Float64(1.0 / (cbrt(Float64(Float64(-3.0 / z) / t)) ^ 3.0)))) - Float64(sin(y) * sin(Float64(t * Float64(z / -3.0))))))) - t_1); else tmp = Float64(Float64(cos(y) * Float64(2.0 * sqrt(x))) + Float64(Float64(a / b) / -3.0)); end return tmp end
code[x_, y_, z_, t_, a_, b_] := N[(N[(N[(2.0 * N[Sqrt[x], $MachinePrecision]), $MachinePrecision] * N[Cos[N[(y - N[(N[(z * t), $MachinePrecision] / 3.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(a / N[(b * 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_, z_, t_, a_, b_] := Block[{t$95$1 = N[(a / N[(b * 3.0), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[N[(z * t), $MachinePrecision], -2e+197], N[(N[Sqrt[N[(N[Power[N[Cos[y], $MachinePrecision], 2.0], $MachinePrecision] * N[(x * 4.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - t$95$1), $MachinePrecision], If[LessEqual[N[(z * t), $MachinePrecision], 1e+180], N[(N[(2.0 * N[(N[Sqrt[x], $MachinePrecision] * N[(N[(N[Cos[y], $MachinePrecision] * N[Cos[N[(1.0 / N[Power[N[Power[N[(N[(-3.0 / z), $MachinePrecision] / t), $MachinePrecision], 1/3], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] - N[(N[Sin[y], $MachinePrecision] * N[Sin[N[(t * N[(z / -3.0), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - t$95$1), $MachinePrecision], N[(N[(N[Cos[y], $MachinePrecision] * N[(2.0 * N[Sqrt[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(a / b), $MachinePrecision] / -3.0), $MachinePrecision]), $MachinePrecision]]]]
\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}
\begin{array}{l}
t_1 := \frac{a}{b \cdot 3}\\
\mathbf{if}\;z \cdot t \leq -2 \cdot 10^{+197}:\\
\;\;\;\;\sqrt{{\cos y}^{2} \cdot \left(x \cdot 4\right)} - t_1\\
\mathbf{elif}\;z \cdot t \leq 10^{+180}:\\
\;\;\;\;2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{1}{{\left(\sqrt[3]{\frac{\frac{-3}{z}}{t}}\right)}^{3}}\right) - \sin y \cdot \sin \left(t \cdot \frac{z}{-3}\right)\right)\right) - t_1\\
\mathbf{else}:\\
\;\;\;\;\cos y \cdot \left(2 \cdot \sqrt{x}\right) + \frac{\frac{a}{b}}{-3}\\
\end{array}
Results
| Original | 67.3% |
|---|---|
| Target | 70.3% |
| Herbie | 73.4% |
if (*.f64 z t) < -1.9999999999999999e197Initial program 21.3%
Taylor expanded in z around 0 46.7%
Applied egg-rr47.0%
[Start]46.7 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \frac{a}{b \cdot 3}
\] |
|---|---|
add-sqr-sqrt [=>]36.2 | \[ \color{blue}{\sqrt{\left(2 \cdot \sqrt{x}\right) \cdot \cos y} \cdot \sqrt{\left(2 \cdot \sqrt{x}\right) \cdot \cos y}} - \frac{a}{b \cdot 3}
\] |
sqrt-unprod [=>]47.0 | \[ \color{blue}{\sqrt{\left(\left(2 \cdot \sqrt{x}\right) \cdot \cos y\right) \cdot \left(\left(2 \cdot \sqrt{x}\right) \cdot \cos y\right)}} - \frac{a}{b \cdot 3}
\] |
*-commutative [=>]47.0 | \[ \sqrt{\color{blue}{\left(\cos y \cdot \left(2 \cdot \sqrt{x}\right)\right)} \cdot \left(\left(2 \cdot \sqrt{x}\right) \cdot \cos y\right)} - \frac{a}{b \cdot 3}
\] |
*-commutative [=>]47.0 | \[ \sqrt{\left(\cos y \cdot \left(2 \cdot \sqrt{x}\right)\right) \cdot \color{blue}{\left(\cos y \cdot \left(2 \cdot \sqrt{x}\right)\right)}} - \frac{a}{b \cdot 3}
\] |
swap-sqr [=>]47.0 | \[ \sqrt{\color{blue}{\left(\cos y \cdot \cos y\right) \cdot \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(2 \cdot \sqrt{x}\right)\right)}} - \frac{a}{b \cdot 3}
\] |
pow2 [=>]47.0 | \[ \sqrt{\color{blue}{{\cos y}^{2}} \cdot \left(\left(2 \cdot \sqrt{x}\right) \cdot \left(2 \cdot \sqrt{x}\right)\right)} - \frac{a}{b \cdot 3}
\] |
*-commutative [=>]47.0 | \[ \sqrt{{\cos y}^{2} \cdot \left(\color{blue}{\left(\sqrt{x} \cdot 2\right)} \cdot \left(2 \cdot \sqrt{x}\right)\right)} - \frac{a}{b \cdot 3}
\] |
*-commutative [=>]47.0 | \[ \sqrt{{\cos y}^{2} \cdot \left(\left(\sqrt{x} \cdot 2\right) \cdot \color{blue}{\left(\sqrt{x} \cdot 2\right)}\right)} - \frac{a}{b \cdot 3}
\] |
swap-sqr [=>]47.0 | \[ \sqrt{{\cos y}^{2} \cdot \color{blue}{\left(\left(\sqrt{x} \cdot \sqrt{x}\right) \cdot \left(2 \cdot 2\right)\right)}} - \frac{a}{b \cdot 3}
\] |
add-sqr-sqrt [<=]47.0 | \[ \sqrt{{\cos y}^{2} \cdot \left(\color{blue}{x} \cdot \left(2 \cdot 2\right)\right)} - \frac{a}{b \cdot 3}
\] |
metadata-eval [=>]47.0 | \[ \sqrt{{\cos y}^{2} \cdot \left(x \cdot \color{blue}{4}\right)} - \frac{a}{b \cdot 3}
\] |
if -1.9999999999999999e197 < (*.f64 z t) < 1e180Initial program 81.5%
Simplified81.4%
[Start]81.5 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}
\] |
|---|---|
associate-*l* [=>]81.5 | \[ \color{blue}{2 \cdot \left(\sqrt{x} \cdot \cos \left(y - \frac{z \cdot t}{3}\right)\right)} - \frac{a}{b \cdot 3}
\] |
associate-/l* [=>]81.4 | \[ 2 \cdot \left(\sqrt{x} \cdot \cos \left(y - \color{blue}{\frac{z}{\frac{3}{t}}}\right)\right) - \frac{a}{b \cdot 3}
\] |
*-commutative [=>]81.4 | \[ 2 \cdot \left(\sqrt{x} \cdot \cos \left(y - \frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{\color{blue}{3 \cdot b}}
\] |
Applied egg-rr82.1%
[Start]81.4 | \[ 2 \cdot \left(\sqrt{x} \cdot \cos \left(y - \frac{z}{\frac{3}{t}}\right)\right) - \frac{a}{3 \cdot b}
\] |
|---|---|
sub-neg [=>]81.4 | \[ 2 \cdot \left(\sqrt{x} \cdot \cos \color{blue}{\left(y + \left(-\frac{z}{\frac{3}{t}}\right)\right)}\right) - \frac{a}{3 \cdot b}
\] |
cos-sum [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \color{blue}{\left(\cos y \cdot \cos \left(-\frac{z}{\frac{3}{t}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)}\right) - \frac{a}{3 \cdot b}
\] |
associate-/r/ [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(-\color{blue}{\frac{z}{3} \cdot t}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
distribute-rgt-neg-in [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \color{blue}{\left(\frac{z}{3} \cdot \left(-t\right)\right)} - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
associate-/r/ [<=]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \color{blue}{\left(\frac{z}{\frac{3}{-t}}\right)} - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
metadata-eval [<=]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{\frac{\color{blue}{--3}}{-t}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
metadata-eval [<=]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{\frac{-\color{blue}{\left(-3\right)}}{-t}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
distribute-neg-frac [<=]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{\color{blue}{-\frac{-3}{-t}}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
frac-2neg [<=]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{-\color{blue}{\frac{3}{t}}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
distribute-neg-frac [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{\color{blue}{\frac{-3}{t}}}\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
associate-/r/ [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \color{blue}{\left(\frac{z}{-3} \cdot t\right)} - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
metadata-eval [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{\color{blue}{-3}} \cdot t\right) - \sin y \cdot \sin \left(-\frac{z}{\frac{3}{t}}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
associate-/r/ [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{-3} \cdot t\right) - \sin y \cdot \sin \left(-\color{blue}{\frac{z}{3} \cdot t}\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
distribute-rgt-neg-in [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{-3} \cdot t\right) - \sin y \cdot \sin \color{blue}{\left(\frac{z}{3} \cdot \left(-t\right)\right)}\right)\right) - \frac{a}{3 \cdot b}
\] |
associate-/r/ [<=]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{-3} \cdot t\right) - \sin y \cdot \sin \color{blue}{\left(\frac{z}{\frac{3}{-t}}\right)}\right)\right) - \frac{a}{3 \cdot b}
\] |
Applied egg-rr82.0%
[Start]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{z}{-3} \cdot t\right) - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
|---|---|
associate-*l/ [=>]82.1 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \color{blue}{\left(\frac{z \cdot t}{-3}\right)} - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
clear-num [=>]82.0 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \color{blue}{\left(\frac{1}{\frac{-3}{z \cdot t}}\right)} - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
Applied egg-rr82.0%
[Start]82.0 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{1}{\frac{-3}{z \cdot t}}\right) - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
|---|---|
add-cube-cbrt [=>]82.0 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{1}{\color{blue}{\left(\sqrt[3]{\frac{-3}{z \cdot t}} \cdot \sqrt[3]{\frac{-3}{z \cdot t}}\right) \cdot \sqrt[3]{\frac{-3}{z \cdot t}}}}\right) - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
pow3 [=>]82.0 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{1}{\color{blue}{{\left(\sqrt[3]{\frac{-3}{z \cdot t}}\right)}^{3}}}\right) - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
associate-/r* [=>]82.0 | \[ 2 \cdot \left(\sqrt{x} \cdot \left(\cos y \cdot \cos \left(\frac{1}{{\left(\sqrt[3]{\color{blue}{\frac{\frac{-3}{z}}{t}}}\right)}^{3}}\right) - \sin y \cdot \sin \left(\frac{z}{-3} \cdot t\right)\right)\right) - \frac{a}{3 \cdot b}
\] |
if 1e180 < (*.f64 z t) Initial program 24.1%
Taylor expanded in z around 0 45.4%
Applied egg-rr45.5%
[Start]45.4 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \frac{a}{b \cdot 3}
\] |
|---|---|
frac-2neg [=>]45.4 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \color{blue}{\frac{-a}{-b \cdot 3}}
\] |
distribute-frac-neg [=>]45.4 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \color{blue}{\left(-\frac{a}{-b \cdot 3}\right)}
\] |
distribute-rgt-neg-in [=>]45.4 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \left(-\frac{a}{\color{blue}{b \cdot \left(-3\right)}}\right)
\] |
associate-/r* [=>]45.5 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \left(-\color{blue}{\frac{\frac{a}{b}}{-3}}\right)
\] |
metadata-eval [=>]45.5 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \left(-\frac{\frac{a}{b}}{\color{blue}{-3}}\right)
\] |
Simplified45.5%
[Start]45.5 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \left(-\frac{\frac{a}{b}}{-3}\right)
\] |
|---|---|
distribute-neg-frac [=>]45.5 | \[ \left(2 \cdot \sqrt{x}\right) \cdot \cos y - \color{blue}{\frac{-\frac{a}{b}}{-3}}
\] |
Final simplification73.4%
| Alternative 1 | |
|---|---|
| Accuracy | 73.4% |
| Cost | 34376 |
| Alternative 2 | |
|---|---|
| Accuracy | 73.4% |
| Cost | 34248 |
| Alternative 3 | |
|---|---|
| Accuracy | 73.5% |
| Cost | 34120 |
| Alternative 4 | |
|---|---|
| Accuracy | 73.4% |
| Cost | 34120 |
| Alternative 5 | |
|---|---|
| Accuracy | 73.4% |
| Cost | 34120 |
| Alternative 6 | |
|---|---|
| Accuracy | 73.4% |
| Cost | 34120 |
| Alternative 7 | |
|---|---|
| Accuracy | 67.6% |
| Cost | 13897 |
| Alternative 8 | |
|---|---|
| Accuracy | 72.3% |
| Cost | 13504 |
| Alternative 9 | |
|---|---|
| Accuracy | 72.3% |
| Cost | 13504 |
| Alternative 10 | |
|---|---|
| Accuracy | 72.4% |
| Cost | 13504 |
| Alternative 11 | |
|---|---|
| Accuracy | 72.3% |
| Cost | 13504 |
| Alternative 12 | |
|---|---|
| Accuracy | 60.1% |
| Cost | 6976 |
| Alternative 13 | |
|---|---|
| Accuracy | 60.2% |
| Cost | 6976 |
| Alternative 14 | |
|---|---|
| Accuracy | 60.2% |
| Cost | 6976 |
| Alternative 15 | |
|---|---|
| Accuracy | 43.1% |
| Cost | 320 |
| Alternative 16 | |
|---|---|
| Accuracy | 43.1% |
| Cost | 320 |
| Alternative 17 | |
|---|---|
| Accuracy | 43.1% |
| Cost | 320 |
| Alternative 18 | |
|---|---|
| Accuracy | 43.2% |
| Cost | 320 |
herbie shell --seed 2023138
(FPCore (x y z t a b)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, K"
:precision binary64
:herbie-target
(if (< z -1.3793337487235141e+129) (- (* (* 2.0 (sqrt x)) (cos (- (/ 1.0 y) (/ (/ 0.3333333333333333 z) t)))) (/ (/ a 3.0) b)) (if (< z 3.516290613555987e+106) (- (* (* (sqrt x) 2.0) (cos (- y (* (/ t 3.0) z)))) (/ (/ a 3.0) b)) (- (* (cos (- y (/ (/ 0.3333333333333333 z) t))) (* 2.0 (sqrt x))) (/ (/ a b) 3.0))))
(- (* (* 2.0 (sqrt x)) (cos (- y (/ (* z t) 3.0)))) (/ a (* b 3.0))))