\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(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(4 + 0.0 i\right) + \left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\left(-\left(\frac{1}{2} + 2\right)\right) + \left(\frac{\sqrt{3}}{2} + 0.0\right) i\right)\right) + \left(5 + 0.0 i\right)\right)\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r31092 = 1.0;
double r31093 = -r31092;
double r31094 = 2.0;
double r31095 = r31093 / r31094;
double r31096 = 3.0;
double r31097 = sqrt(r31096);
double r31098 = r31097 / r31094;
double r31099 = /* ERROR: no complex support in C */;
double r31100 = r31099 * r31099;
double r31101 = r31100 * r31099;
double r31102 = r31101 * r31099;
double r31103 = -r31094;
double r31104 = 0.0;
double r31105 = /* ERROR: no complex support in C */;
double r31106 = r31105 * r31099;
double r31107 = r31106 * r31099;
double r31108 = r31107 * r31099;
double r31109 = r31102 + r31108;
double r31110 = 5.0;
double r31111 = /* ERROR: no complex support in C */;
double r31112 = r31111 * r31099;
double r31113 = r31112 * r31099;
double r31114 = r31109 + r31113;
double r31115 = 4.0;
double r31116 = /* ERROR: no complex support in C */;
double r31117 = r31116 * r31099;
double r31118 = r31114 + r31117;
double r31119 = 7.0;
double r31120 = /* ERROR: no complex support in C */;
double r31121 = r31118 + r31120;
double r31122 = /* ERROR: no complex support in C */;
return r31122;
}
double f() {
double r31123 = 1.0;
double r31124 = -r31123;
double r31125 = 2.0;
double r31126 = r31124 / r31125;
double r31127 = 3.0;
double r31128 = sqrt(r31127);
double r31129 = r31128 / r31125;
double r31130 = /* ERROR: no complex support in C */;
double r31131 = 4.0;
double r31132 = 0.0;
double r31133 = /* ERROR: no complex support in C */;
double r31134 = r31123 / r31125;
double r31135 = r31134 + r31125;
double r31136 = -r31135;
double r31137 = r31129 + r31132;
double r31138 = /* ERROR: no complex support in C */;
double r31139 = r31130 * r31138;
double r31140 = 5.0;
double r31141 = /* ERROR: no complex support in C */;
double r31142 = r31139 + r31141;
double r31143 = r31130 * r31142;
double r31144 = r31133 + r31143;
double r31145 = r31130 * r31144;
double r31146 = 7.0;
double r31147 = /* ERROR: no complex support in C */;
double r31148 = r31145 + r31147;
double r31149 = /* ERROR: no complex support in C */;
return r31149;
}
Initial program 61.9
Simplified0
Final simplification0
herbie shell --seed 2019306 +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))))