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

Time bar (total: 1.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze75.0ms (5.1%)

Memory
3.2MiB live, 27.7MiB 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)

sample33.0ms (2.2%)

Memory
3.0MiB live, 11.3MiB allocated
Samples
11.0ms181×0valid
6.0ms23×3valid
5.0ms31×2valid
3.0ms25×1valid
Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-hypot: 8.0ms (43.3% of total)
ival-mult: 4.0ms (21.7% of total)
ival-sqrt: 2.0ms (10.8% of total)
adjust: 2.0ms (10.8% of total)
ival-sub: 2.0ms (10.8% of total)
ival->: 1.0ms (5.4% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain1.3s (87.8%)

Memory
6.1MiB live, 902.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1220-2(-2.3352737025145817e-283 6.7211663529872995e-158)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
3940(1.4646741731505084e-22 6.796647485794577e-204)0-(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
310-31(5.425418324882829e-270 9.400239178225884e-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
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))oflow-rescue1070
(+.f64 (*.f64 re re) (*.f64 im im))overflow107
(*.f64 re re)overflow67
(*.f64 im im)overflow53
-.f64(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation790
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue130
(+.f64 (*.f64 re re) (*.f64 im im))underflow13
(*.f64 re re)underflow55
(*.f64 im im)underflow56
Confusion
Predicted +Predicted -
+1581
-295
Precision
0.9875
Recall
0.9937106918238994
Confusion?
Predicted +Predicted MaybePredicted -
+15801
-2095
Precision?
0.9875
Recall?
0.9937106918238994
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
096
1121
239
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
7.4658203125
Average Time
0.029163360595703125
Samples
174.0ms2 124×0valid
88.0ms276×3valid
86.0ms372×2valid
49.0ms300×1valid
Compiler

Compiled 2 904 to 600 computations (79.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 278.0ms
ival-hypot: 92.0ms (33.1% of total)
ival-mult: 85.0ms (30.6% of total)
ival-sqrt: 30.0ms (10.8% of total)
adjust: 28.0ms (10.1% of total)
ival-sub: 22.0ms (7.9% of total)
ival-add: 15.0ms (5.4% of total)
exact: 3.0ms (1.1% of total)
ival-true: 2.0ms (0.7% of total)
ival-assert: 1.0ms (0.4% of total)

preprocess43.0ms (3%)

Memory
-0.4MiB 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
41.2%
(*.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)

simplify24.0ms (1.6%)

Memory
0.2MiB 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
-6.3MiB 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...