math.sqrt on complex, real part

Time bar (total: 4.1s)

analyze94.0ms (2.3%)

Memory
2.3MiB live, 36.5MiB 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
0%0%99.9%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 35 to 27 computations (22.9% saved)

sample4.0s (95.3%)

Memory
-50.5MiB live, 1 249.2MiB allocated
Samples
472.0ms6 205×73valid-baseline
402.0ms6 205×73valid-rival
377.0ms6 205×73valid-sollya
308.0ms737×2336valid-baseline
195.0ms402×4672valid-baseline
170.0ms474×1168valid-baseline
133.0ms737×2336valid-rival
100.0ms737×2336valid-sollya
93.0ms402×4672valid-rival
72.0ms245×584valid-baseline
70.0ms474×1168valid-rival
63.0ms402×4672valid-sollya
55.0ms474×1168valid-sollya
31.0ms245×584valid-rival
26.0ms121×292valid-baseline
23.0ms245×584valid-sollya
15.0ms121×292valid-rival
10.0ms71×146valid-baseline
8.0ms121×292valid-sollya
8.0ms71×146valid-rival
5.0ms71×146valid-sollya
0.0ms1168valid-rival+sollya-real
Precisions
Click to see Rival histograms. Total time spent on operations: 566.0ms
ival-mult: 251.0ms (44.4% of total)
ival-sqrt: 156.0ms (27.6% of total)
ival-add: 100.0ms (17.7% of total)
adjust: 44.0ms (7.8% of total)
ival-true: 7.0ms (1.2% of total)
...in/eval/compile.rkt:110:19: 4.0ms (0.7% of total)
ival-assert: 3.0ms (0.5% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 968.0ms
ival-sqrt: 399.0ms (41.2% of total)
ival-mult: 381.0ms (39.3% of total)
ival-add: 163.0ms (16.8% of total)
const: 25.0ms (2.6% of total)
Bogosity

preprocess85.0ms (2%)

Memory
-11.1MiB live, 21.4MiB allocated
Algorithm
egg-herbie
Rules
250×fmm-def
205×fma-define
61×distribute-rgt-in
43×sub-neg
43×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042266
1121266
2213266
3331266
4529266
5732266
6939266
71141266
81234266
91244266
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im))) (neg.f64 re)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im)))) re))))
(neg.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im))) (neg.f64 re))))))
(neg.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im)))) re)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 re (hypot.f64 re im)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 re (hypot.f64 re im)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im))) (neg.f64 re)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im)))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 re (hypot.f64 re im)))))
(neg.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 im im))) (neg.f64 re))))))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))) #s(literal -1/2 binary64))
(neg.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 (neg.f64 im) (neg.f64 im)))) re)))))
(*.f64 #s(literal -1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 re (hypot.f64 re im)))))
(*.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 re (hypot.f64 re im)))) #s(literal -1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 im (hypot.f64 re im)))))
Symmetry

(abs im)

Compiler

Compiled 17 to 12 computations (29.4% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
46.0%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 34 to 24 computations (29.4% saved)

simplify2.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01860
12260
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 17 to 12 computations (29.4% saved)

preprocess11.0ms (0.3%)

Memory
-2.2MiB live, 13.4MiB allocated
Remove

(abs im)

Compiler

Compiled 102 to 72 computations (29.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...