\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(5 + 0.0 i\right) + \left(\left(\left(\frac{-1}{2} - 2\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right)\right) + \left(4 + 0.0 i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r3971 = 1.0;
double r3972 = -r3971;
double r3973 = 2.0;
double r3974 = r3972 / r3973;
double r3975 = 3.0;
double r3976 = sqrt(r3975);
double r3977 = r3976 / r3973;
double r3978 = /* ERROR: no complex support in C */;
double r3979 = r3978 * r3978;
double r3980 = r3979 * r3978;
double r3981 = r3980 * r3978;
double r3982 = -r3973;
double r3983 = 0.0;
double r3984 = /* ERROR: no complex support in C */;
double r3985 = r3984 * r3978;
double r3986 = r3985 * r3978;
double r3987 = r3986 * r3978;
double r3988 = r3981 + r3987;
double r3989 = 5.0;
double r3990 = /* ERROR: no complex support in C */;
double r3991 = r3990 * r3978;
double r3992 = r3991 * r3978;
double r3993 = r3988 + r3992;
double r3994 = 4.0;
double r3995 = /* ERROR: no complex support in C */;
double r3996 = r3995 * r3978;
double r3997 = r3993 + r3996;
double r3998 = 7.0;
double r3999 = /* ERROR: no complex support in C */;
double r4000 = r3997 + r3999;
double r4001 = /* ERROR: no complex support in C */;
return r4001;
}
double f() {
double r4002 = 1.0;
double r4003 = -r4002;
double r4004 = 2.0;
double r4005 = r4003 / r4004;
double r4006 = 3.0;
double r4007 = sqrt(r4006);
double r4008 = r4007 / r4004;
double r4009 = /* ERROR: no complex support in C */;
double r4010 = 5.0;
double r4011 = 0.0;
double r4012 = /* ERROR: no complex support in C */;
double r4013 = r4005 - r4004;
double r4014 = r4008 + r4011;
double r4015 = /* ERROR: no complex support in C */;
double r4016 = r4015 * r4009;
double r4017 = r4012 + r4016;
double r4018 = r4009 * r4017;
double r4019 = 4.0;
double r4020 = /* ERROR: no complex support in C */;
double r4021 = r4018 + r4020;
double r4022 = r4021 * r4009;
double r4023 = 7.0;
double r4024 = /* ERROR: no complex support in C */;
double r4025 = r4022 + r4024;
double r4026 = /* ERROR: no complex support in C */;
return r4026;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2020045 +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))))