\left(2 \cdot \sqrt{x}\right) \cdot \cos \left(y - \frac{z \cdot t}{3}\right) - \frac{a}{b \cdot 3}\begin{array}{l}
\mathbf{if}\;\cos \left(y - \frac{z \cdot t}{3}\right) \le 0.9999999999999932276395497865451034158468:\\
\;\;\;\;\left(\left(2 \cdot \sqrt{x}\right) \cdot \left(\cos y \cdot \cos \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right)\right) + \left(\sqrt[3]{\left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)} \cdot \sqrt[3]{\left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(\frac{z \cdot t}{3}\right)\right)}\right) \cdot \sqrt[3]{\left(2 \cdot \sqrt{x}\right) \cdot \left(\sin y \cdot \sin \left(0.3333333333333333148296162562473909929395 \cdot \left(t \cdot z\right)\right)\right)}\right) - \frac{a}{b \cdot 3}\\
\mathbf{else}:\\
\;\;\;\;\left(2 \cdot \sqrt{x}\right) \cdot \left(1 - \frac{1}{2} \cdot {y}^{2}\right) - \frac{a}{b \cdot 3}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r756165 = 2.0;
double r756166 = x;
double r756167 = sqrt(r756166);
double r756168 = r756165 * r756167;
double r756169 = y;
double r756170 = z;
double r756171 = t;
double r756172 = r756170 * r756171;
double r756173 = 3.0;
double r756174 = r756172 / r756173;
double r756175 = r756169 - r756174;
double r756176 = cos(r756175);
double r756177 = r756168 * r756176;
double r756178 = a;
double r756179 = b;
double r756180 = r756179 * r756173;
double r756181 = r756178 / r756180;
double r756182 = r756177 - r756181;
return r756182;
}
double f(double x, double y, double z, double t, double a, double b) {
double r756183 = y;
double r756184 = z;
double r756185 = t;
double r756186 = r756184 * r756185;
double r756187 = 3.0;
double r756188 = r756186 / r756187;
double r756189 = r756183 - r756188;
double r756190 = cos(r756189);
double r756191 = 0.9999999999999932;
bool r756192 = r756190 <= r756191;
double r756193 = 2.0;
double r756194 = x;
double r756195 = sqrt(r756194);
double r756196 = r756193 * r756195;
double r756197 = cos(r756183);
double r756198 = 0.3333333333333333;
double r756199 = r756185 * r756184;
double r756200 = r756198 * r756199;
double r756201 = cos(r756200);
double r756202 = r756197 * r756201;
double r756203 = r756196 * r756202;
double r756204 = sin(r756183);
double r756205 = sin(r756188);
double r756206 = r756204 * r756205;
double r756207 = r756196 * r756206;
double r756208 = cbrt(r756207);
double r756209 = r756208 * r756208;
double r756210 = sin(r756200);
double r756211 = r756204 * r756210;
double r756212 = r756196 * r756211;
double r756213 = cbrt(r756212);
double r756214 = r756209 * r756213;
double r756215 = r756203 + r756214;
double r756216 = a;
double r756217 = b;
double r756218 = r756217 * r756187;
double r756219 = r756216 / r756218;
double r756220 = r756215 - r756219;
double r756221 = 1.0;
double r756222 = 0.5;
double r756223 = 2.0;
double r756224 = pow(r756183, r756223);
double r756225 = r756222 * r756224;
double r756226 = r756221 - r756225;
double r756227 = r756196 * r756226;
double r756228 = r756227 - r756219;
double r756229 = r756192 ? r756220 : r756228;
return r756229;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a




Bits error versus b
Results
| Original | 21.1 |
|---|---|
| Target | 19.1 |
| Herbie | 18.3 |
if (cos (- y (/ (* z t) 3.0))) < 0.9999999999999932Initial program 20.3
rmApplied cos-diff19.6
Applied distribute-lft-in19.6
rmApplied add-cube-cbrt19.6
Taylor expanded around inf 19.6
Taylor expanded around inf 19.6
if 0.9999999999999932 < (cos (- y (/ (* z t) 3.0))) Initial program 22.5
Taylor expanded around 0 15.8
Final simplification18.3
herbie shell --seed 2020001
(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.379333748723514e+129) (- (* (* 2 (sqrt x)) (cos (- (/ 1 y) (/ (/ 0.3333333333333333 z) t)))) (/ (/ a 3) b)) (if (< z 3.516290613555987e+106) (- (* (* (sqrt x) 2) (cos (- y (* (/ t 3) z)))) (/ (/ a 3) b)) (- (* (cos (- y (/ (/ 0.3333333333333333 z) t))) (* 2 (sqrt x))) (/ (/ a b) 3))))
(- (* (* 2 (sqrt x)) (cos (- y (/ (* z t) 3)))) (/ a (* b 3))))