powComplex, imaginary part

Time bar (total: 4.0s)

analyze323.0ms (8%)

Memory
-2.4MiB live, 458.8MiB allocated
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 39 to 18 computations (53.8% saved)

sample3.5s (87.5%)

Memory
52.3MiB live, 3 082.6MiB allocated
Samples
1.5s2 923×1valid
1.4s5 278×0valid
41.0ms55×2valid
Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-mult: 605.0ms (26.7% of total)
ival-hypot: 411.0ms (18.1% of total)
ival-log: 352.0ms (15.5% of total)
ival-sin: 297.0ms (13.1% of total)
adjust: 220.0ms (9.7% of total)
ival-atan2: 179.0ms (7.9% of total)
ival-exp: 87.0ms (3.8% of total)
ival-add: 56.0ms (2.5% of total)
ival-sub: 49.0ms (2.2% of total)
ival-true: 6.0ms (0.3% of total)
ival-assert: 4.0ms (0.2% of total)
Bogosity

preprocess182.0ms (4.5%)

Memory
5.9MiB live, 163.7MiB allocated
Algorithm
egg-herbie
Rules
988×exp-prod
832×unsub-neg
686×exp-sum
680×sub-neg
628×accelerator-lowering-fma.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0141573
1349554
2708554
31346552
42722550
54471550
66379550
77362550
01937
13436
26336
39336
414436
520236
629536
743136
858536
972036
1078836
1182836
1298136
13123036
14150336
15159836
16164036
17164636
0164625
Stop Event
iter limit
saturated
node limit
Calls
Call 1
Inputs
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))
Outputs
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))
(fma.f64 (fma.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re x.re (*.f64 x.im x.im))) y.re) (exp.f64 (-.f64 #s(literal 0 binary64) (fma.f64 (atan2.f64 x.im x.re) y.im #s(literal 0 binary64)))) #s(literal 0 binary64)) (sin.f64 (fma.f64 (log.f64 (sqrt.f64 (fma.f64 x.re x.re (*.f64 x.im x.im)))) y.im (fma.f64 y.re (atan2.f64 x.im x.re) #s(literal 0 binary64)))) #s(literal 0 binary64))
Call 2
Inputs
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))
(* (exp (- (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.re) (* (atan2 x.im (neg x.re)) y.im))) (sin (+ (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.im) (* (atan2 x.im (neg x.re)) y.re))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.re) (* (atan2 (neg x.im) x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.im) (* (atan2 (neg x.im) x.re) y.re))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.re)) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) (neg y.re)))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) (neg y.im)))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.im)) (* (atan2 x.im x.re) y.re))))
(neg (* (exp (- (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.re) (* (atan2 x.im (neg x.re)) y.im))) (sin (+ (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.im) (* (atan2 x.im (neg x.re)) y.re)))))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.re) (* (atan2 (neg x.im) x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.im) (* (atan2 (neg x.im) x.re) y.re)))))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.re)) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) (neg y.re))))))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) (neg y.im)))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.im)) (* (atan2 x.im x.re) y.re)))))
(* (exp (- (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.re) (* (atan2 x.re x.im) y.im))) (sin (+ (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.im) (* (atan2 x.re x.im) y.re))))
(* (exp (- (* (log (sqrt (+ (* y.re y.re) (* x.im x.im)))) x.re) (* (atan2 x.im y.re) y.im))) (sin (+ (* (log (sqrt (+ (* y.re y.re) (* x.im x.im)))) y.im) (* (atan2 x.im y.re) x.re))))
(* (exp (- (* (log (sqrt (+ (* y.im y.im) (* x.im x.im)))) y.re) (* (atan2 x.im y.im) x.re))) (sin (+ (* (log (sqrt (+ (* y.im y.im) (* x.im x.im)))) x.re) (* (atan2 x.im y.im) y.re))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* y.re y.re)))) x.im) (* (atan2 y.re x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* y.re y.re)))) y.im) (* (atan2 y.re x.re) x.im))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* y.im y.im)))) y.re) (* (atan2 y.im x.re) x.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* y.im y.im)))) x.im) (* (atan2 y.im x.re) y.re))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))))
Outputs
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (pow (exp y.im) (atan2 x.im x.re))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im x.re)))))
(* (exp (- (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.re) (* (atan2 x.im (neg x.re)) y.im))) (sin (+ (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.im) (* (atan2 x.im (neg x.re)) y.re))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (pow (exp y.im) (atan2 x.im (neg x.re)))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im (neg x.re))))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.re) (* (atan2 (neg x.im) x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.im) (* (atan2 (neg x.im) x.re) y.re))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (pow (exp y.im) (atan2 (neg x.im) x.re))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 (neg x.im) x.re)))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.re)) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) (neg y.re)))))
(/ (sin (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im x.re)))) (* (pow (exp y.im) (atan2 x.im x.re)) (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re)))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) (neg y.im)))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.im)) (* (atan2 x.im x.re) y.re))))
(* (* (pow (exp y.im) (atan2 x.im x.re)) (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re)) (sin (- (* y.re (atan2 x.im x.re)) (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im))))
(neg (* (exp (- (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.re) (* (atan2 x.im (neg x.re)) y.im))) (sin (+ (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.im) (* (atan2 x.im (neg x.re)) y.re)))))
(* (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im (neg x.re))))) (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (neg (pow (exp y.im) (atan2 x.im (neg x.re))))))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.re) (* (atan2 (neg x.im) x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.im) (* (atan2 (neg x.im) x.re) y.re)))))
(* (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 (neg x.im) x.re)))) (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (neg (pow (exp y.im) (atan2 (neg x.im) x.re)))))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.re)) (* (atan2 x.im x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) (neg y.re))))))
(/ (sin (- (* y.re (atan2 x.im x.re)) (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im))) (* (pow (exp y.im) (atan2 x.im x.re)) (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re)))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) (neg y.im)))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.im)) (* (atan2 x.im x.re) y.re)))))
(* (sin (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im x.re)))) (* (pow (exp y.im) (atan2 x.im x.re)) (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re)))
(* (exp (- (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.re) (* (atan2 x.re x.im) y.im))) (sin (+ (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.im) (* (atan2 x.re x.im) y.re))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (pow (exp y.im) (atan2 x.re x.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.re x.im)))))
(* (exp (- (* (log (sqrt (+ (* y.re y.re) (* x.im x.im)))) x.re) (* (atan2 x.im y.re) y.im))) (sin (+ (* (log (sqrt (+ (* y.re y.re) (* x.im x.im)))) y.im) (* (atan2 x.im y.re) x.re))))
(* (/ (pow (sqrt (+ (* x.im x.im) (* y.re y.re))) x.re) (pow (exp y.im) (atan2 x.im y.re))) (sin (+ (* y.im (log (sqrt (+ (* x.im x.im) (* y.re y.re))))) (* x.re (atan2 x.im y.re)))))
(* (exp (- (* (log (sqrt (+ (* y.im y.im) (* x.im x.im)))) y.re) (* (atan2 x.im y.im) x.re))) (sin (+ (* (log (sqrt (+ (* y.im y.im) (* x.im x.im)))) x.re) (* (atan2 x.im y.im) y.re))))
(* (/ (pow (sqrt (+ (* x.im x.im) (* y.im y.im))) y.re) (pow (exp x.re) (atan2 x.im y.im))) (sin (+ (* x.re (log (sqrt (+ (* x.im x.im) (* y.im y.im))))) (* y.re (atan2 x.im y.im)))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* y.re y.re)))) x.im) (* (atan2 y.re x.re) y.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* y.re y.re)))) y.im) (* (atan2 y.re x.re) x.im))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* y.re y.re))) x.im) (pow (exp y.im) (atan2 y.re x.re))) (sin (+ (* y.im (log (sqrt (+ (* x.re x.re) (* y.re y.re))))) (* x.im (atan2 y.re x.re)))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* y.im y.im)))) y.re) (* (atan2 y.im x.re) x.im))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* y.im y.im)))) x.im) (* (atan2 y.im x.re) y.re))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* y.im y.im))) y.re) (pow (exp x.im) (atan2 y.im x.re))) (sin (+ (* x.im (log (sqrt (+ (* x.re x.re) (* y.im y.im))))) (* y.re (atan2 y.im x.re)))))
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))))
(* (/ (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.im) (pow (exp y.re) (atan2 x.im x.re))) (sin (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))))

explain0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Compiler

Compiled 178 to 21 computations (88.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...