| Alternative 1 | |
|---|---|
| Error | 0.3 |
| Cost | 576 |
\[\frac{b}{\frac{-1}{a}} \cdot \left(b \cdot a\right)
\]
(FPCore (a b) :precision binary64 (- (* (* (* a a) b) b)))
(FPCore (a b) :precision binary64 (/ (* b (* a 4.0)) (/ (/ -4.0 a) b)))
double code(double a, double b) {
return -(((a * a) * b) * b);
}
double code(double a, double b) {
return (b * (a * 4.0)) / ((-4.0 / a) / b);
}
real(8) function code(a, b)
real(8), intent (in) :: a
real(8), intent (in) :: b
code = -(((a * a) * b) * b)
end function
real(8) function code(a, b)
real(8), intent (in) :: a
real(8), intent (in) :: b
code = (b * (a * 4.0d0)) / (((-4.0d0) / a) / b)
end function
public static double code(double a, double b) {
return -(((a * a) * b) * b);
}
public static double code(double a, double b) {
return (b * (a * 4.0)) / ((-4.0 / a) / b);
}
def code(a, b): return -(((a * a) * b) * b)
def code(a, b): return (b * (a * 4.0)) / ((-4.0 / a) / b)
function code(a, b) return Float64(-Float64(Float64(Float64(a * a) * b) * b)) end
function code(a, b) return Float64(Float64(b * Float64(a * 4.0)) / Float64(Float64(-4.0 / a) / b)) end
function tmp = code(a, b) tmp = -(((a * a) * b) * b); end
function tmp = code(a, b) tmp = (b * (a * 4.0)) / ((-4.0 / a) / b); end
code[a_, b_] := (-N[(N[(N[(a * a), $MachinePrecision] * b), $MachinePrecision] * b), $MachinePrecision])
code[a_, b_] := N[(N[(b * N[(a * 4.0), $MachinePrecision]), $MachinePrecision] / N[(N[(-4.0 / a), $MachinePrecision] / b), $MachinePrecision]), $MachinePrecision]
-\left(\left(a \cdot a\right) \cdot b\right) \cdot b
\frac{b \cdot \left(a \cdot 4\right)}{\frac{\frac{-4}{a}}{b}}
Results
Initial program 16.8
Simplified16.8
[Start]16.8 | \[ -\left(\left(a \cdot a\right) \cdot b\right) \cdot b
\] |
|---|---|
rational.json-simplify-10 [=>]16.8 | \[ \color{blue}{\frac{\left(\left(a \cdot a\right) \cdot b\right) \cdot b}{-1}}
\] |
rational.json-simplify-49 [=>]16.8 | \[ \color{blue}{b \cdot \frac{\left(a \cdot a\right) \cdot b}{-1}}
\] |
rational.json-simplify-2 [=>]16.8 | \[ b \cdot \frac{\color{blue}{b \cdot \left(a \cdot a\right)}}{-1}
\] |
rational.json-simplify-49 [=>]16.8 | \[ b \cdot \color{blue}{\left(\left(a \cdot a\right) \cdot \frac{b}{-1}\right)}
\] |
rational.json-simplify-11 [=>]16.8 | \[ b \cdot \left(\left(a \cdot a\right) \cdot \color{blue}{\left(-b\right)}\right)
\] |
Applied egg-rr17.1
Applied egg-rr16.8
Simplified5.7
[Start]16.8 | \[ b \cdot \left(2 \cdot \frac{-b}{\frac{\frac{2}{a}}{a}}\right)
\] |
|---|---|
rational.json-simplify-5 [<=]16.8 | \[ b \cdot \left(2 \cdot \frac{-b}{\color{blue}{\frac{\frac{2}{a}}{a} - 0}}\right)
\] |
rational.json-simplify-50 [<=]16.8 | \[ b \cdot \left(2 \cdot \color{blue}{\frac{b}{0 - \frac{\frac{2}{a}}{a}}}\right)
\] |
rational.json-simplify-12 [<=]16.8 | \[ b \cdot \left(2 \cdot \frac{b}{\color{blue}{-\frac{\frac{2}{a}}{a}}}\right)
\] |
rational.json-simplify-10 [=>]16.8 | \[ b \cdot \left(2 \cdot \frac{b}{\color{blue}{\frac{\frac{\frac{2}{a}}{a}}{-1}}}\right)
\] |
rational.json-simplify-47 [=>]17.1 | \[ b \cdot \left(2 \cdot \frac{b}{\frac{\color{blue}{\frac{2}{a \cdot a}}}{-1}}\right)
\] |
rational.json-simplify-44 [=>]17.1 | \[ b \cdot \left(2 \cdot \frac{b}{\color{blue}{\frac{\frac{2}{-1}}{a \cdot a}}}\right)
\] |
metadata-eval [=>]17.1 | \[ b \cdot \left(2 \cdot \frac{b}{\frac{\color{blue}{-2}}{a \cdot a}}\right)
\] |
rational.json-simplify-61 [<=]16.8 | \[ b \cdot \left(2 \cdot \color{blue}{\frac{a \cdot a}{\frac{-2}{b}}}\right)
\] |
rational.json-simplify-49 [=>]5.8 | \[ b \cdot \left(2 \cdot \color{blue}{\left(a \cdot \frac{a}{\frac{-2}{b}}\right)}\right)
\] |
rational.json-simplify-43 [=>]5.7 | \[ b \cdot \color{blue}{\left(a \cdot \left(\frac{a}{\frac{-2}{b}} \cdot 2\right)\right)}
\] |
rational.json-simplify-61 [=>]5.7 | \[ b \cdot \left(a \cdot \left(\color{blue}{\frac{b}{\frac{-2}{a}}} \cdot 2\right)\right)
\] |
Applied egg-rr0.3
Final simplification0.3
| Alternative 1 | |
|---|---|
| Error | 0.3 |
| Cost | 576 |
| Alternative 2 | |
|---|---|
| Error | 0.3 |
| Cost | 512 |
herbie shell --seed 2023064
(FPCore (a b)
:name "ab-angle->ABCF D"
:precision binary64
(- (* (* (* a a) b) b)))