FastMath test2

Time bar (total: 1.9s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 14 to 10 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.3s (69.6%)

Results
1.1s7167×0valid
110.0ms1088×0infinite
56.0ms129×5exit
0.0ms0infinite
Precisions
Click to see histograms. Total time spent on operations: 361.0ms
Operation ival-mult, time spent: 221.0ms, 61.0% of total-time
Operation ival-add, time spent: 112.0ms, 31.0% of total-time
Operation const, time spent: 16.0ms, 4.0% of total-time
Operation backward-pass, time spent: 12.0ms, 3.0% of total-time
Bogosity

preprocess285.0ms (14.9%)

Algorithm
egg-herbie
Rules
1052×fma-neg
563×fma-define
162×unsub-neg
122×cancel-sign-sub-inv
114×distribute-rgt-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 10 binary64)
00-0-#s(literal 20 binary64)
00-0-d1
00-0-d2
00-0-(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
00-0-(*.f64 d1 #s(literal 20 binary64))
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 #s(literal 10 binary64))
00-0-(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032258
193183
2291141
3870133
42085133
53154133
63861133
73891133
83891133
94073133
104073133
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64))))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64))))
(+.f64 (+.f64 (*.f64 d2 #s(literal 10 binary64)) (*.f64 d2 d1)) (*.f64 d2 #s(literal 20 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64)))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 #s(literal 10 binary64) d2)) (*.f64 #s(literal 20 binary64) (neg.f64 d1)))
(*.f64 (neg.f64 d1) (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 (neg.f64 d1) (+.f64 d2 #s(literal 30 binary64)))
(*.f64 d1 (-.f64 #s(literal -30 binary64) d2))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 #s(literal 20 binary64)) (*.f64 d1 (+.f64 #s(literal 10 binary64) (neg.f64 d2))))
(*.f64 d1 (+.f64 #s(literal 20 binary64) (-.f64 #s(literal 10 binary64) d2)))
(*.f64 d1 (-.f64 #s(literal 30 binary64) d2))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) #s(literal 10 binary64)) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) #s(literal 20 binary64))))
(+.f64 (*.f64 d1 (+.f64 #s(literal 10 binary64) d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 d1 (+.f64 (+.f64 #s(literal 10 binary64) d2) #s(literal 20 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 #s(literal 20 binary64))))
(neg.f64 (+.f64 (*.f64 d1 #s(literal 20 binary64)) (*.f64 d1 (+.f64 #s(literal 10 binary64) (neg.f64 d2)))))
(neg.f64 (*.f64 d1 (+.f64 #s(literal 20 binary64) (-.f64 #s(literal 10 binary64) d2))))
(*.f64 (neg.f64 d1) (-.f64 #s(literal 30 binary64) d2))
(*.f64 d1 (-.f64 d2 #s(literal 30 binary64)))
(*.f64 d1 (+.f64 d2 #s(literal -30 binary64)))
(+.f64 (+.f64 (*.f64 d2 #s(literal 10 binary64)) (*.f64 d2 d1)) (*.f64 d2 #s(literal 20 binary64)))
(+.f64 (*.f64 d2 (+.f64 #s(literal 10 binary64) d1)) (*.f64 d2 #s(literal 20 binary64)))
(*.f64 d2 (+.f64 (+.f64 d1 #s(literal 10 binary64)) #s(literal 20 binary64)))
(*.f64 d2 (+.f64 d1 #s(literal 30 binary64)))
Symmetry

(negabs d1)

Compiler

Compiled 81 to 47 computations (42% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
Operation ival-mult, time spent: 20.0ms, 65.0% of total-time
Operation ival-add, time spent: 8.0ms, 26.0% of total-time
Operation const, time spent: 2.0ms, 7.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 23 to 16 computations (30.4% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize26.0ms (1.4%)

Compiler

Compiled 14 to 9 computations (35.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
Operation ival-add, time spent: 3.0ms, 55.0% of total-time
Operation ival-mult, time spent: 2.0ms, 37.0% of total-time
Operation const, time spent: 1.0ms, 18.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0.1%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Accuracy
100.0%
Counts
1 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Compiler

Compiled 25 to 17 computations (32% saved)

regimes6.0ms (0.3%)

Accuracy

Total -0.1b remaining (-∞%)

Threshold costs -0.1b (-∞%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Outputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Calls

3 calls:

2.0ms
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
2.0ms
d2
2.0ms
d1
Results
AccuracySegmentsBranch
100.0%1d1
100.0%1d2
100.0%1(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Compiler

Compiled 19 to 13 computations (31.6% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
11219
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Outputs
(*.f64 d1 (+.f64 d2 #s(literal 30 binary64)))
Compiler

Compiled 7 to 5 computations (28.6% saved)

soundness227.0ms (11.9%)

Rules
1052×fma-neg
563×fma-define
162×unsub-neg
122×cancel-sign-sub-inv
114×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032258
193183
2291141
3870133
42085133
53154133
63861133
73891133
83891133
94073133
104073133
Stop Event
saturated
Compiler

Compiled 48 to 33 computations (31.3% saved)

end0.0ms (0%)

preprocess32.0ms (1.7%)

Remove

(negabs d1)

Compiler

Compiled 82 to 58 computations (29.3% saved)

Profiling

Loading profile data...