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

Time bar (total: 2.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze78.0ms (3.9%)

Memory
-4.0MiB live, 27.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)

sample31.0ms (1.5%)

Memory
2.9MiB live, 10.4MiB allocated
Samples
13.0ms201×0valid
4.0ms30×1valid
4.0ms19×2valid
3.0ms10×3valid
Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-hypot: 6.0ms (35.6% of total)
ival-mult: 4.0ms (23.7% of total)
ival-sqrt: 3.0ms (17.8% of total)
ival-sub: 2.0ms (11.9% of total)
adjust: 1.0ms (5.9% of total)
ival->: 1.0ms (5.9% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain1.8s (91.1%)

Memory
8.3MiB live, 921.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1260-0-(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
380-0-(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
160-1(4.549458865895377e-90 2.3098430283319772e-201)(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
00-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))))
00-0-(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
00-0-(*.f64 re re)
00-0-im
00-0-(+.f64 (*.f64 re re) (*.f64 im im))
00-0-#s(literal 2 binary64)
00-0-re
00-0-#s(literal 1/2 binary64)
00-0-(*.f64 im im)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue1130
(+.f64 (*.f64 re re) (*.f64 im im))overflow113
(*.f64 re re)overflow64
(*.f64 im im)overflow68
-.f64(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation381
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))uflow-rescue150
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))underflow20
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))underflow5
(*.f64 re re)underflow56
(*.f64 im im)underflow50
(+.f64 (*.f64 re re) (*.f64 im im))underflow13
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)underflow20
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue130
(+.f64 (*.f64 re re) (*.f64 im im))underflow13
(*.f64 re re)underflow56
(*.f64 im im)underflow50
Confusion
Predicted +Predicted -
+1510
-0105
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+15100
-01104
Precision?
0.993421052631579
Recall?
1.0
Freqs
test
numberfreq
0105
1123
228
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
33.990478515625
Average Time
0.13277530670166016
Samples
424.0ms4 752×0valid
132.0ms720×1valid
122.0ms432×2valid
89.0ms240×3valid
Compiler

Compiled 2 928 to 624 computations (78.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 528.0ms
ival-mult: 170.0ms (32.2% of total)
ival-hypot: 157.0ms (29.8% of total)
adjust: 61.0ms (11.6% of total)
ival-sqrt: 54.0ms (10.2% of total)
ival-sub: 40.0ms (7.6% of total)
ival-add: 32.0ms (6.1% of total)
exact: 6.0ms (1.1% of total)
ival-true: 5.0ms (0.9% of total)
ival-assert: 2.0ms (0.4% of total)

preprocess45.0ms (2.2%)

Memory
-0.6MiB live, 7.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03077
17175
215275
328575
442475
551575
663775
777575
883075
01215
02015
12515
23615
35215
47315
59815
615415
722715
831015
936015
1042015
1143415
1245015
1347015
1450015
1553115
1654315
1754515
054510
Stop Event
iter limit
saturated
iter limit
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 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
Symmetry

(abs im)

Compiler

Compiled 15 to 12 computations (20% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.7%
(*.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 30 to 24 computations (20% saved)

simplify21.0ms (1%)

Memory
-2.6MiB live, 18.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01215
11715
22215
32415
42515
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 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))

soundness0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

preprocess2.0ms (0.1%)

Memory
1.5MiB live, 1.5MiB allocated
Remove

(abs im)

Compiler

Compiled 120 to 96 computations (20% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...