Average Error: 0.0 → 0.1
Time: 2.3s
Precision: 64
Internal Precision: 320
\[re \cdot im + im \cdot re\]
\[re \cdot \left(im + im\right)\]

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[re \cdot im + im \cdot re\]
  2. Initial simplification0.1

    \[\leadsto re \cdot \left(im + im\right)\]
  3. Final simplification0.1

    \[\leadsto re \cdot \left(im + im\right)\]

Runtime

Time bar (total: 2.3s)Debug logProfile

BaselineHerbieOracleSpan%
Regimes0.10.10.10.0100%
herbie shell --seed 2018296 +o rules:numerics
(FPCore (re im)
  :name "math.square on complex, imaginary part"
  (+ (* re im) (* im re)))