math.sqrt on complex, real part

Time bar (total: 1.3s)

analyze83.0ms (6.4%)

Memory
18.7MiB live, 172.8MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
62.5%62.4%37.5%0.1%0%0%0%5
62.5%62.4%37.5%0.1%0%0%0%6
68.8%68.7%31.2%0.1%0%0%0%7
68.8%68.7%31.2%0.1%0%0%0%8
71.9%71.8%28.1%0.1%0%0%0%9
71.9%71.8%28.1%0.1%0%0%0%10
73.4%73.4%26.5%0.1%0%0%0%11
73.4%73.4%26.5%0.1%0%0%0%12
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample1.2s (88.9%)

Memory
52.5MiB live, 1 860.5MiB allocated
Samples
435.0ms6 224×0valid
234.0ms788×2valid
133.0ms469×3valid
124.0ms775×1valid
Precisions
Click to see histograms. Total time spent on operations: 705.0ms
ival-hypot: 360.0ms (51% of total)
ival-mult: 151.0ms (21.4% of total)
ival-sqrt: 88.0ms (12.5% of total)
ival-add: 61.0ms (8.6% of total)
adjust: 29.0ms (4.1% of total)
exact: 7.0ms (1% of total)
ival-true: 6.0ms (0.9% of total)
ival-assert: 4.0ms (0.6% of total)
Bogosity

preprocess60.0ms (4.6%)

Memory
-29.6MiB live, 49.2MiB allocated
Algorithm
egg-herbie
Rules
122×distribute-rgt-in
108×sub-neg
86×distribute-lft-in
82×unsub-neg
78×distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03690
110690
218190
327190
440890
553290
665590
775590
878390
01215
12215
22415
02410
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 (*.f64 #s(literal 2 binary64) (+.f64 re (sqrt.f64 (fma.f64 re re (*.f64 im im)))))))
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 (+ re (sqrt (+ (* re re) (* im im)))))))
(* 1/2 (sqrt (* 2 (+ (sqrt (+ (* (neg re) (neg re)) (* im im))) (neg re)))))
(* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))))
(* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* (neg im) (neg im)))) re))))
(* 1/2 (sqrt (* 2 (+ re (sqrt (+ (* re re) (* im im)))))))
(neg (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* (neg re) (neg re)) (* im im))) (neg re))))))
(* (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) -1/2)
(neg (* 1/2 (sqrt (* 2 (+ (sqrt (+ (* re re) (* (neg im) (neg im)))) re)))))
(* (sqrt (* 2 (+ re (sqrt (+ (* re re) (* im im)))))) -1/2)
(* 1/2 (sqrt (* 2 (+ (sqrt (+ (* im im) (* re re))) im))))
(* 1/2 (sqrt (* 2 (+ im (sqrt (+ (* re re) (* im im)))))))
Symmetry

(abs im)

explain2.0ms (0.1%)

Memory
3.3MiB live, 3.3MiB 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-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...