math.sqrt on complex, imaginary part, im greater than 0 branch

Time bar (total: 1.8s)

analyze81.0ms (4.6%)

Memory
2.9MiB live, 159.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
50%25%25%50%0%0%0%2
50%25%25%50%0%0%0%3
62.5%31.2%18.7%50%0%0%0%4
62.5%31.2%18.7%50%0%0%0%5
68.8%34.3%15.6%50%0%0%0%6
68.8%34.3%15.6%50%0%0%0%7
71.9%35.9%14%50%0%0%0%8
71.9%35.9%14%50%0%0%0%9
73.4%36.7%13.3%50%0%0%0%10
73.4%36.7%13.3%50%0%0%0%11
74.2%37.1%12.9%50%0%0%0%12
Compiler

Compiled 19 to 12 computations (36.8% saved)

sample1.5s (87.3%)

Memory
16.4MiB live, 2 086.9MiB allocated
Samples
540.0ms6 279×0valid
337.0ms805×2valid
162.0ms439×3valid
143.0ms733×1valid
Precisions
Click to see histograms. Total time spent on operations: 893.0ms
ival-hypot: 432.0ms (48.4% of total)
ival-sub: 147.0ms (16.5% of total)
ival-mult: 128.0ms (14.3% of total)
ival-sqrt: 86.0ms (9.6% of total)
ival->: 56.0ms (6.3% of total)
adjust: 27.0ms (3% of total)
exact: 13.0ms (1.5% of total)
ival-assert: 4.0ms (0.4% of total)
Bogosity

preprocess141.0ms (8%)

Memory
6.2MiB live, 81.4MiB allocated
Algorithm
egg-herbie
Rules
368×accelerator-lowering-fma.f32
368×accelerator-lowering-fma.f64
228×*-lowering-*.f32
228×*-lowering-*.f64
136×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03692
17990
216090
329590
443490
552490
664790
778590
883990
01215
11715
22815
34415
46515
59015
614615
721815
830215
935215
1041215
1142615
1244615
1346815
1449815
1552915
1654115
1754315
054310
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))))
Outputs
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (fma.f64 im im #s(literal 0 binary64)))) re) #s(literal 0 binary64))))
Call 2
Inputs
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* (neg re) (neg re)) (* im im))) (neg re)))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* (neg im) (neg im)))) re))))
(neg (* 1/2 (sqrt (* 2 (- (sqrt (+ (* (neg re) (neg re)) (* im im))) (neg re))))))
(neg (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* (neg im) (neg im)))) re)))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* im im) (* re re))) im))))
Outputs
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* (neg re) (neg re)) (* im im))) (neg re)))))
(* 1/2 (sqrt (* 2 (+ re (sqrt (+ (* re re) (* im im)))))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* (neg im) (neg im)))) re))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))))
(neg (* 1/2 (sqrt (* 2 (- (sqrt (+ (* (neg re) (neg re)) (* im im))) (neg re))))))
(* (sqrt (* 2 (+ re (sqrt (+ (* re re) (* im im)))))) -1/2)
(neg (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* (neg im) (neg im)))) re)))))
(* (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) -1/2)
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* im im) (* re re))) im))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) im))))
Symmetry

(abs im)

explain1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Samples
0.0ms0valid
Compiler

Compiled 77 to 14 computations (81.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
ival-hypot: 0.0ms (0% of total)
ival-sqrt: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...