powComplex, real part

Time bar (total: 2.7min)

analyze427.0ms (0.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
18.8%18.7%81.1%0.2%0%0%0%7
18.8%18.7%81.1%0.2%0%0%0%8
18.8%18.7%81.1%0.2%0%0%0%9
34.4%34.3%65.5%0.2%0%0%0%10
54.7%54.6%45.2%0.2%0%0%0%11
54.7%54.6%45.2%0.2%0%0%0%12
Compiler

Compiled 84 to 40 computations (52.4% saved)

sample2.7min (99.6%)

Results
1.9s5363×0valid-rival-baseline
1.9s5225×0valid-rival
2.3s4482×0valid-sollya
2.5s2819×1valid-rival
2.4s2780×1valid-rival-baseline
820.0ms960×1valid-sollya
Bogosity

preprocess219.0ms (0.1%)

Algorithm
egg-herbie
Rules
697×fma-neg
484×exp-prod
381×unsub-neg
335×exp-sum
317×fma-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01491920
14031848
28521846
315951840
432021840
552961840
674431840
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.re) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.im) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.im)) (*.f64 (atan2.f64 x.im x.re) y.re))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.re)))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.re) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.im) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.re)))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re))))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.im)) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.re) (*.f64 (atan2.f64 x.re x.im) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.im) (*.f64 (atan2.f64 x.re x.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im y.re) x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im y.im) x.re))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) x.im) (*.f64 (atan2.f64 y.re x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) y.im) (*.f64 (atan2.f64 y.re x.re) x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) y.re) (*.f64 (atan2.f64 y.im x.re) x.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) x.im) (*.f64 (atan2.f64 y.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.re))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (neg.f64 (*.f64 y.im (atan2.f64 x.im (neg.f64 x.re)))))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im (neg.f64 x.re))))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im (neg.f64 x.re)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im (neg.f64 x.re))))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.re) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.im) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.re) (*.f64 y.im (atan2.f64 (neg.f64 x.im) x.re)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 (neg.f64 x.im) x.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 (neg.f64 x.im) x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 (neg.f64 x.im) x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) (neg.f64 y.re)) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))))
(/.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.im)) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))
(*.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 x.re) (neg.f64 x.re)) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im (neg.f64 x.re)) y.re)))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (neg.f64 (*.f64 y.im (atan2.f64 x.im (neg.f64 x.re)))))) (neg.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im (neg.f64 x.re)))))))
(*.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im (neg.f64 x.re))))) (/.f64 (neg.f64 (pow.f64 (hypot.f64 x.re x.im) y.re)) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im (neg.f64 x.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im (neg.f64 x.re)))) (neg.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im (neg.f64 x.re)))))))
(*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (/.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.im (neg.f64 x.re))))) (neg.f64 (pow.f64 (exp.f64 y.im) (atan2.f64 x.im (neg.f64 x.re))))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.re) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 (neg.f64 x.im) (neg.f64 x.im))))) y.im) (*.f64 (atan2.f64 (neg.f64 x.im) x.re) y.re)))))
(*.f64 (neg.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.re) (*.f64 y.im (atan2.f64 (neg.f64 x.im) x.re))))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 (neg.f64 x.im) x.re)))))
(*.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 (neg.f64 x.im) x.re)))) (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (neg.f64 (pow.f64 (exp.f64 y.im) (atan2.f64 (neg.f64 x.im) x.re)))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.re)) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re))))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (neg.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re))))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) (neg.f64 y.re)) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))) (neg.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re))))))
(*.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))) (/.f64 (/.f64 #s(literal -1 binary64) (pow.f64 (hypot.f64 x.re x.im) y.re)) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))))
(/.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (neg.f64 (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re)))))
(neg.f64 (*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) (neg.f64 y.im)) (*.f64 (atan2.f64 x.im x.re) y.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (hypot.f64 x.re x.im)) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (neg.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.im) (*.f64 y.re (atan2.f64 x.im x.re))))))
(*.f64 (*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re))) (neg.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.im) (*.f64 y.re (atan2.f64 x.im x.re))))))
(*.f64 (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (neg.f64 (atan2.f64 x.im x.re))))) (*.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (neg.f64 (pow.f64 (exp.f64 y.im) (atan2.f64 x.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.re) (*.f64 (atan2.f64 x.re x.im) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.im x.im) (*.f64 x.re x.re)))) y.im) (*.f64 (atan2.f64 x.re x.im) y.re))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (neg.f64 (*.f64 y.im (atan2.f64 x.re x.im))))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.re x.im)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.re x.im))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 y.re (atan2.f64 x.re x.im)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.re y.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im y.re) x.re))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 y.re x.im)) x.re (neg.f64 (*.f64 y.im (atan2.f64 x.im y.re))))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 y.re x.im)) y.im (*.f64 x.re (atan2.f64 x.im y.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.im y.re) x.re) (pow.f64 (exp.f64 y.im) (atan2.f64 x.im y.re))) (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.im y.re)) (*.f64 x.re (atan2.f64 x.im y.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im y.im) x.re))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 y.im y.im) (*.f64 x.im x.im)))) x.re) (*.f64 (atan2.f64 x.im y.im) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 y.re (log.f64 (hypot.f64 y.im x.im))) (*.f64 x.re (atan2.f64 x.im y.im)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 y.im x.im)) x.re (*.f64 y.re (atan2.f64 x.im y.im)))))
(/.f64 (*.f64 (cos.f64 (fma.f64 x.re (log.f64 (hypot.f64 x.im y.im)) (*.f64 y.re (atan2.f64 x.im y.im)))) (pow.f64 (hypot.f64 x.im y.im) y.re)) (pow.f64 (exp.f64 x.re) (atan2.f64 x.im y.im)))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.im y.im) y.re) (pow.f64 (exp.f64 x.re) (atan2.f64 x.im y.im))) (cos.f64 (fma.f64 x.re (log.f64 (hypot.f64 x.im y.im)) (*.f64 y.re (atan2.f64 x.im y.im)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) x.im) (*.f64 (atan2.f64 y.re x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.re y.re)))) y.im) (*.f64 (atan2.f64 y.re x.re) x.im))))
(*.f64 (exp.f64 (-.f64 (*.f64 x.im (log.f64 (hypot.f64 x.re y.re))) (*.f64 y.im (atan2.f64 y.re x.re)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re y.re)) y.im (*.f64 x.im (atan2.f64 y.re x.re)))))
(/.f64 (*.f64 (pow.f64 (hypot.f64 x.re y.re) x.im) (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.re y.re)) (*.f64 x.im (atan2.f64 y.re x.re))))) (pow.f64 (exp.f64 y.im) (atan2.f64 y.re x.re)))
(*.f64 (pow.f64 (hypot.f64 x.re y.re) x.im) (/.f64 (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.re y.re)) (*.f64 x.im (atan2.f64 y.re x.re)))) (pow.f64 (exp.f64 y.im) (atan2.f64 y.re x.re))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re y.re) x.im) (pow.f64 (exp.f64 y.im) (atan2.f64 y.re x.re))) (cos.f64 (fma.f64 y.im (log.f64 (hypot.f64 x.re y.re)) (*.f64 x.im (atan2.f64 y.re x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) y.re) (*.f64 (atan2.f64 y.im x.re) x.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 y.im y.im)))) x.im) (*.f64 (atan2.f64 y.im x.re) y.re))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re y.im)) y.re (neg.f64 (*.f64 x.im (atan2.f64 y.im x.re))))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re y.im)) x.im (*.f64 y.re (atan2.f64 y.im x.re)))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re y.im) y.re) (pow.f64 (exp.f64 x.im) (atan2.f64 y.im x.re))) (cos.f64 (fma.f64 x.im (log.f64 (hypot.f64 x.re y.im)) (*.f64 y.re (atan2.f64 y.im x.re)))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (exp.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.im (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.re)))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (*.f64 (atan2.f64 x.im x.re) y.im))))
(*.f64 (/.f64 (pow.f64 (hypot.f64 x.re x.im) y.im) (pow.f64 (exp.f64 y.re) (atan2.f64 x.im x.re))) (cos.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) y.re (*.f64 (atan2.f64 x.im x.re) y.im))))
Compiler

Compiled 41 to 19 computations (53.7% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
37.2%
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Compiler

Compiled 82 to 38 computations (53.7% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027163
139163
251163
357163
461163
562163
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
Outputs
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))))
(*.f64 (exp.f64 (-.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) y.im))) (cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 y.re (atan2.f64 x.im x.re)))))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 41 to 19 computations (53.7% saved)

preprocess62.0ms (0%)

Compiler

Compiled 164 to 76 computations (53.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...