\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 r24401 = 1.0;
double r24402 = -r24401;
double r24403 = 2.0;
double r24404 = r24402 / r24403;
double r24405 = 3.0;
double r24406 = sqrt(r24405);
double r24407 = r24406 / r24403;
double r24408 = /* ERROR: no complex support in C */;
double r24409 = r24408 * r24408;
double r24410 = r24409 * r24408;
double r24411 = r24410 * r24408;
double r24412 = -r24403;
double r24413 = 0.0;
double r24414 = /* ERROR: no complex support in C */;
double r24415 = r24414 * r24408;
double r24416 = r24415 * r24408;
double r24417 = r24416 * r24408;
double r24418 = r24411 + r24417;
double r24419 = 5.0;
double r24420 = /* ERROR: no complex support in C */;
double r24421 = r24420 * r24408;
double r24422 = r24421 * r24408;
double r24423 = r24418 + r24422;
double r24424 = 4.0;
double r24425 = /* ERROR: no complex support in C */;
double r24426 = r24425 * r24408;
double r24427 = r24423 + r24426;
double r24428 = 7.0;
double r24429 = /* ERROR: no complex support in C */;
double r24430 = r24427 + r24429;
double r24431 = /* ERROR: no complex support in C */;
return r24431;
}
double f() {
double r24432 = 1.0;
double r24433 = -r24432;
double r24434 = 2.0;
double r24435 = r24433 / r24434;
double r24436 = 3.0;
double r24437 = sqrt(r24436);
double r24438 = r24437 / r24434;
double r24439 = /* ERROR: no complex support in C */;
double r24440 = r24439 * r24439;
double r24441 = r24440 * r24439;
double r24442 = r24441 * r24439;
double r24443 = -r24434;
double r24444 = 0.0;
double r24445 = /* ERROR: no complex support in C */;
double r24446 = r24445 * r24439;
double r24447 = r24446 * r24439;
double r24448 = r24447 * r24439;
double r24449 = r24442 + r24448;
double r24450 = 5.0;
double r24451 = /* ERROR: no complex support in C */;
double r24452 = r24451 * r24439;
double r24453 = r24452 * r24439;
double r24454 = r24449 + r24453;
double r24455 = 4.0;
double r24456 = /* ERROR: no complex support in C */;
double r24457 = r24456 * r24439;
double r24458 = r24454 + r24457;
double r24459 = 7.0;
double r24460 = /* ERROR: no complex support in C */;
double r24461 = r24458 + r24460;
double r24462 = /* ERROR: no complex support in C */;
return r24462;
}
Initial program 61.9
Final simplification61.9
herbie shell --seed 2019346
(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))))