powComplex, imaginary part

Time bar (total: 4.0min)

analyze758.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 42 to 20 computations (52.4% saved)

sample4.0min (99.6%)

Results
3.0s5339×0valid-rival
2.7s4447×0valid-sollya
4.5s2856×1valid-rival
9.6s1919×1exit-sollya
918.0ms936×1valid-sollya
4.5s892×0exit-sollya
202.0ms61×2valid-rival
305.0ms61×2exit-sollya
26.0ms1invalid-sollya
Bogosity

preprocess192.0ms (0.1%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
01491920
14031848
28521846
315951840
432021832
552091832
675151832
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))) (sin.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))) (sin.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))) (sin.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))) (sin.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))) (sin.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)))) (sin.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))) (sin.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))) (sin.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))) (sin.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)))) (sin.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))) (sin.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))) (sin.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))) (sin.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))) (sin.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))) (sin.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))) (sin.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))) (sin.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)))) (sin.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))) (sin.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))) (sin.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)))) (sin.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))) (sin.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))) (sin.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)))))) (sin.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)))) (sin.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))) (sin.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)))) (sin.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))) (sin.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))) (sin.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)))) (sin.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))) (sin.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 (sin.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)))) (sin.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)))) (sin.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))) (sin.f64 (fma.f64 (log.f64 (hypot.f64 x.re x.im)) (neg.f64 y.im) (*.f64 y.re (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))) (sin.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 (sin.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 (sin.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 (sin.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 (sin.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))) (sin.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))))) (sin.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 (sin.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))) (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (sin.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 (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 x.re x.re) (*.f64 x.im x.im)))) y.re) (*.f64 (atan2.f64 x.im x.re) (neg.f64 y.im)))) (sin.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 (sin.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 (sin.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 (sin.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.im x.im) (*.f64 x.re x.re)))) y.re) (*.f64 (atan2.f64 x.re x.im) y.im))) (sin.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))))) (sin.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))) (sin.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))) (sin.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))))) (sin.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))) (sin.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))) (sin.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)))) (sin.f64 (fma.f64 (log.f64 (hypot.f64 y.im x.im)) x.re (*.f64 y.re (atan2.f64 x.im y.im)))))
(/.f64 (*.f64 (sin.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))) (sin.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))) (sin.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)))) (sin.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) (sin.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 (sin.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))) (sin.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))) (sin.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))))) (sin.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))) (sin.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))) (sin.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)))) (sin.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))) (sin.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)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
42.0%
(*.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))) (sin.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)

simplify5.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))) (sin.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))) (sin.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))) (sin.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)))))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 41 to 19 computations (53.7% saved)

preprocess23.0ms (0%)

Compiler

Compiled 164 to 76 computations (53.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...