Asymptote A

Time bar (total: 1.0s)

analyze3.0ms (0.3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
75%75%25%0%0%0%0%4
87.5%87.5%12.5%0%0%0%0%5
93.8%93.7%6.2%0%0%0%0%6
96.9%96.8%3.1%0%0%0%0%7
98.4%98.4%1.6%0%0%0%0%8
99.2%99.2%0.8%0%0%0%0%9
99.6%99.6%0.4%0%0%0%0%10
99.8%99.8%0.2%0%0%0%0%11
99.9%99.9%0.1%0%0%0%0%12
Compiler

Compiled 13 to 8 computations (38.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-div: 0.0ms (0% of total)
ival-sub: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
const: 0.0ms (0% of total)

sample841.0ms (83%)

Results
352.0ms5863×256valid
217.0ms1985×512valid
83.0ms408×1024valid
Precisions
Click to see histograms. Total time spent on operations: 407.0ms
ival-div: 200.0ms (49.1% of total)
ival-sub: 119.0ms (29.2% of total)
ival-add: 76.0ms (18.7% of total)
const: 12.0ms (2.9% of total)
Bogosity

preprocess58.0ms (5.7%)

Algorithm
egg-herbie
Rules
68×fma-neg
26×fma-define
22×sub-neg
20×distribute-lft-neg-in
18×cancel-sign-sub-inv
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
019160
138154
277148
3150148
4296148
5388148
6419148
7421148
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64))))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64)))))
Outputs
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal -1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal -1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)))
(-.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal -1 binary64) x)))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (+.f64 (neg.f64 x) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (neg.f64 x) #s(literal 1 binary64)))))
(neg.f64 (-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (neg.f64 x))) (/.f64 #s(literal 1 binary64) (+.f64 (neg.f64 x) #s(literal -1 binary64)))))
(neg.f64 (+.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) x #s(literal -1 binary64)))))
(+.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal -1 binary64) (-.f64 #s(literal 1 binary64) x)))
(+.f64 (/.f64 #s(literal 1 binary64) (-.f64 #s(literal -1 binary64) x)) (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal -1 binary64))))
Symmetry

(abs x)

explain88.0ms (8.7%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
780-0-(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
00-0-x
00-0-#s(literal 1 binary64)
00-0-(-.f64 x #s(literal 1 binary64))
00-0-(/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64)))
00-0-(+.f64 x #s(literal 1 binary64))
00-0-(/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64)))
Results
37.0ms364×256valid
15.0ms120×512valid
5.0ms28×1024valid
Compiler

Compiled 74 to 23 computations (68.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-add: 15.0ms (46% of total)
ival-div: 10.0ms (30.7% of total)
ival-sub: 7.0ms (21.5% of total)
const: 1.0ms (3.1% of total)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
72.8%
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
Compiler

Compiled 24 to 14 computations (41.7% saved)

simplify6.0ms (0.5%)

Algorithm
egg-herbie
Rules
34×unsub-neg
18×neg-mul-1
sub-neg
distribute-neg-out
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01137
12237
23237
34537
46737
58737
610237
713037
815337
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
Outputs
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 x #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(-.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 x #s(literal 1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal -1 binary64) (+.f64 x #s(literal -1 binary64))))
(+.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) x)))

soundness0.0ms (0%)

Stop Event
fuel
Compiler

Compiled 12 to 7 computations (41.7% saved)

preprocess17.0ms (1.7%)

Remove

(abs x)

Compiler

Compiled 96 to 56 computations (41.7% saved)

end0.0ms (0%)

Profiling

Loading profile data...