\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Re(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r21367 = 1.0;
double r21368 = -r21367;
double r21369 = 2.0;
double r21370 = r21368 / r21369;
double r21371 = 3.0;
double r21372 = sqrt(r21371);
double r21373 = r21372 / r21369;
double r21374 = /* ERROR: no complex support in C */;
double r21375 = r21374 * r21374;
double r21376 = r21375 * r21374;
double r21377 = r21376 * r21374;
double r21378 = -r21369;
double r21379 = 0.0;
double r21380 = /* ERROR: no complex support in C */;
double r21381 = r21380 * r21374;
double r21382 = r21381 * r21374;
double r21383 = r21382 * r21374;
double r21384 = r21377 + r21383;
double r21385 = 5.0;
double r21386 = /* ERROR: no complex support in C */;
double r21387 = r21386 * r21374;
double r21388 = r21387 * r21374;
double r21389 = r21384 + r21388;
double r21390 = 4.0;
double r21391 = /* ERROR: no complex support in C */;
double r21392 = r21391 * r21374;
double r21393 = r21389 + r21392;
double r21394 = 7.0;
double r21395 = /* ERROR: no complex support in C */;
double r21396 = r21393 + r21395;
double r21397 = /* ERROR: no complex support in C */;
return r21397;
}
double f() {
double r21398 = 1.0;
double r21399 = -r21398;
double r21400 = 2.0;
double r21401 = r21399 / r21400;
double r21402 = 3.0;
double r21403 = sqrt(r21402);
double r21404 = r21403 / r21400;
double r21405 = /* ERROR: no complex support in C */;
double r21406 = r21405 * r21405;
double r21407 = r21406 * r21405;
double r21408 = r21407 * r21405;
double r21409 = -r21400;
double r21410 = 0.0;
double r21411 = /* ERROR: no complex support in C */;
double r21412 = r21411 * r21405;
double r21413 = r21412 * r21405;
double r21414 = r21413 * r21405;
double r21415 = r21408 + r21414;
double r21416 = 5.0;
double r21417 = /* ERROR: no complex support in C */;
double r21418 = r21417 * r21405;
double r21419 = r21418 * r21405;
double r21420 = r21415 + r21419;
double r21421 = 4.0;
double r21422 = /* ERROR: no complex support in C */;
double r21423 = r21422 * r21405;
double r21424 = r21420 + r21423;
double r21425 = 7.0;
double r21426 = /* ERROR: no complex support in C */;
double r21427 = r21424 + r21426;
double r21428 = /* ERROR: no complex support in C */;
return r21428;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019356 +o rules:numerics
(FPCore ()
:name "3.9.2 real part (p56)"
:precision binary64
(re (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))