Average Error: 61.9 → 0
Time: 16.2s
Precision: 64
\[\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(4 + 0.0 i\right) + \left(\left(\left(5 + 0.0 i\right) + \left(\left(\left(-\frac{1}{2}\right) + \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)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\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))
\Re(\left(\left(\left(\left(4 + 0.0 i\right) + \left(\left(\left(5 + 0.0 i\right) + \left(\left(\left(-\frac{1}{2}\right) + \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)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0.0 i\right)\right))
double f() {
        double r30086 = 1.0;
        double r30087 = -r30086;
        double r30088 = 2.0;
        double r30089 = r30087 / r30088;
        double r30090 = 3.0;
        double r30091 = sqrt(r30090);
        double r30092 = r30091 / r30088;
        double r30093 = /* ERROR: no complex support in C */;
        double r30094 = r30093 * r30093;
        double r30095 = r30094 * r30093;
        double r30096 = r30095 * r30093;
        double r30097 = -r30088;
        double r30098 = 0.0;
        double r30099 = /* ERROR: no complex support in C */;
        double r30100 = r30099 * r30093;
        double r30101 = r30100 * r30093;
        double r30102 = r30101 * r30093;
        double r30103 = r30096 + r30102;
        double r30104 = 5.0;
        double r30105 = /* ERROR: no complex support in C */;
        double r30106 = r30105 * r30093;
        double r30107 = r30106 * r30093;
        double r30108 = r30103 + r30107;
        double r30109 = 4.0;
        double r30110 = /* ERROR: no complex support in C */;
        double r30111 = r30110 * r30093;
        double r30112 = r30108 + r30111;
        double r30113 = 7.0;
        double r30114 = /* ERROR: no complex support in C */;
        double r30115 = r30112 + r30114;
        double r30116 = /* ERROR: no complex support in C */;
        return r30116;
}

double f() {
        double r30117 = 4.0;
        double r30118 = 0.0;
        double r30119 = /* ERROR: no complex support in C */;
        double r30120 = 5.0;
        double r30121 = /* ERROR: no complex support in C */;
        double r30122 = 1.0;
        double r30123 = 2.0;
        double r30124 = r30122 / r30123;
        double r30125 = -r30124;
        double r30126 = 3.0;
        double r30127 = sqrt(r30126);
        double r30128 = r30127 / r30123;
        double r30129 = /* ERROR: no complex support in C */;
        double r30130 = r30124 + r30123;
        double r30131 = -r30130;
        double r30132 = r30128 + r30118;
        double r30133 = /* ERROR: no complex support in C */;
        double r30134 = r30129 * r30133;
        double r30135 = r30121 + r30134;
        double r30136 = r30135 * r30129;
        double r30137 = r30119 + r30136;
        double r30138 = r30137 * r30129;
        double r30139 = 7.0;
        double r30140 = /* ERROR: no complex support in C */;
        double r30141 = r30138 + r30140;
        double r30142 = /* ERROR: no complex support in C */;
        return r30142;
}

Error

Derivation

  1. Initial program 61.9

    \[\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))\]
  2. Simplified0

    \[\leadsto \color{blue}{\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(5 + 0.0 i\right) + \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)\right)\right)\right)\right) + \left(7 + 0.0 i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Re(\left(\left(\left(\left(4 + 0.0 i\right) + \left(\left(\left(5 + 0.0 i\right) + \left(\left(\left(-\frac{1}{2}\right) + \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)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right)\right) \cdot \left(\left(-\frac{1}{2}\right) + \frac{\sqrt{3}}{2} i\right)\right) + \left(7 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2019195 +o rules:numerics
(FPCore ()
  :name "3.9.2 real part (p56)"
  (re (+ (+ (+ (+ (* (* (* (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (* (* (* (complex (- 2.0) 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (* (complex 5.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0))) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (* (complex 4.0 0.0) (complex (/ (- 1.0) 2.0) (/ (sqrt 3.0) 2.0)))) (complex 7.0 0.0))))