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

Time bar (total: 1.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze76.0ms (5.6%)

Memory
3.2MiB live, 27.8MiB 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 (2.3%)

Memory
2.6MiB live, 10.8MiB allocated
Samples
11.0ms188×0valid
6.0ms30×2valid
4.0ms34×1valid
2.0ms3valid
Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-hypot: 7.0ms (40.2% of total)
ival-mult: 4.0ms (23% of total)
ival-sqrt: 2.0ms (11.5% of total)
adjust: 2.0ms (11.5% of total)
ival-sub: 2.0ms (11.5% of total)
ival->: 1.0ms (5.7% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain1.2s (87%)

Memory
9.3MiB live, 825.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1310-131(1.8173872336876502e-44 4.731037512635044e+237)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
4822(4.7655415210489496e+160 1.2201772440684674e-201)0-(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
220-22(35882304666837897000.0 1.1120102570457559e+308)(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
-.f64(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation700
Confusion
Predicted +Predicted -
+6997
-189
Precision
0.9857142857142858
Recall
0.41566265060240964
Confusion?
Predicted +Predicted MaybePredicted -
+69097
-1089
Precision?
0.9857142857142858
Recall?
0.41566265060240964
Freqs
test
numberfreq
0186
170
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
7.124755859375
Average Time
0.027831077575683594
Samples
190.0ms2 232×0valid
87.0ms336×2valid
70.0ms408×1valid
35.0ms96×3valid
Compiler

Compiled 2 904 to 600 computations (79.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 262.0ms
ival-mult: 82.0ms (31.3% of total)
ival-hypot: 79.0ms (30.2% of total)
adjust: 33.0ms (12.6% of total)
ival-sqrt: 27.0ms (10.3% of total)
ival-sub: 20.0ms (7.6% of total)
ival-add: 16.0ms (6.1% of total)
exact: 3.0ms (1.1% of total)
ival-true: 2.0ms (0.8% of total)
ival-assert: 1.0ms (0.4% of total)

preprocess42.0ms (3.1%)

Memory
-3.1MiB live, 7.2MiB 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.1%)

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

simplify25.0ms (1.8%)

Memory
-5.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.2%)

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...