powComplex, real part

Time bar (total: 3.9s)

analyze348.0ms (9%)

Memory
4.6MiB live, 465.3MiB 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.3s (86.4%)

Memory
57.5MiB live, 2 930.5MiB allocated
Samples
1.6s5 301×0valid
1.1s2 955×1valid
Precisions
Click to see histograms. Total time spent on operations: 2.0s
ival-mult: 708.0ms (35.1% of total)
ival-hypot: 356.0ms (17.6% of total)
ival-log: 226.0ms (11.2% of total)
ival-add: 207.0ms (10.3% of total)
ival-cos: 179.0ms (8.9% of total)
ival-atan2: 108.0ms (5.3% of total)
ival-exp: 82.0ms (4.1% of total)
adjust: 76.0ms (3.8% of total)
ival-sub: 68.0ms (3.4% of total)
ival-true: 6.0ms (0.3% of total)
ival-assert: 3.0ms (0.1% of total)
Bogosity

preprocess175.0ms (4.5%)

Memory
-16.5MiB live, 98.0MiB allocated
Algorithm
egg-herbie
Rules
988×exp-prod
922×distribute-rgt-in
822×unsub-neg
694×exp-sum
660×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0141573
1349554
2708554
31346552
42722552
54550552
66300552
76877552
87220552
97309552
107319552
01937
13436
26336
39336
414436
520236
629536
743136
858536
972036
1078636
1179736
079725
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))) (cos (+ (* (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))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) y.re))))
(*.f64 (exp.f64 (fma.f64 (atan2.f64 x.im x.re) (-.f64 #s(literal 0 binary64) y.im) #s(literal 0 binary64))) (*.f64 (cos.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)))) (pow.f64 (sqrt.f64 (fma.f64 x.re x.re (*.f64 x.im x.im))) y.re)))
Call 2
Inputs
(* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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)))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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)))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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)))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) (neg y.re)))))
(/ (cos (- (* (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)))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.im)) (* (atan2 x.im x.re) y.re))))
(* (cos (- (* (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)))
(neg (* (exp (- (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.re) (* (atan2 x.im (neg x.re)) y.im))) (cos (+ (* (log (sqrt (+ (* (neg x.re) (neg x.re)) (* x.im x.im)))) y.im) (* (atan2 x.im (neg x.re)) y.re)))))
(* (cos (+ (* (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))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* (neg x.im) (neg x.im))))) y.im) (* (atan2 (neg x.im) x.re) y.re)))))
(* (cos (+ (* (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))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* (atan2 x.im x.re) (neg y.re))))))
(/ (cos (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im x.re)))) (* (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (neg (pow (exp y.im) (atan2 x.im x.re)))))
(neg (* (exp (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) (neg y.im)))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) (neg y.im)) (* (atan2 x.im x.re) y.re)))))
(* (cos (- (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.im) (* y.re (atan2 x.im x.re)))) (* (pow (sqrt (+ (* x.re x.re) (* x.im x.im))) y.re) (neg (pow (exp y.im) (atan2 x.im x.re)))))
(* (exp (- (* (log (sqrt (+ (* x.im x.im) (* x.re x.re)))) y.re) (* (atan2 x.re x.im) y.im))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* (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))) (cos (+ (* 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))) (cos (+ (* (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))) (cos (+ (* 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))) (cos (+ (* (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))) (cos (+ (* 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))) (cos (+ (* (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))) (cos (+ (* 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))) (cos (+ (* (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))) (cos (+ (* (log (sqrt (+ (* x.re x.re) (* x.im x.im)))) y.re) (* (atan2 x.im x.re) y.im))))

explain0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Compiler

Compiled 178 to 21 computations (88.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...