FastMath test3

Time bar (total: 2.5s)

analyze2.0ms (0.1%)

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 15 to 10 computations (33.3% 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.6s (62.8%)

Results
896.0ms6350×0valid
229.0ms1761×0infinite
163.0ms293×5exit
29.0ms80×3valid
16.0ms30×4valid
8.0ms28×2valid
1.0ms1valid
0.0ms0infinite
Precisions
Click to see histograms. Total time spent on operations: 619.0ms
Operation ival-add, time spent: 337.0ms, 54.0% of total-time
Operation ival-mult, time spent: 260.0ms, 42.0% of total-time
Operation const, time spent: 23.0ms, 4.0% of total-time
Bogosity

preprocess421.0ms (16.8%)

Algorithm
egg-herbie
Rules
3750×fma-def
552×unsub-neg
450×sub-neg
348×cancel-sign-sub
326×distribute-lft-out
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
70-0-(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
00-0-d3
00-0-d1
00-0-d2
00-0-(*.f64 d1 d3)
00-0-(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 3)
00-0-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044439
1134328
2419314
31282308
43223308
54018308
64272308
74294308
84304308
94306308
105504308
115568308
125568308
135568308
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) 3) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) 3) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3))))
(+.f64 (+.f64 (*.f64 d2 3) (*.f64 d2 d1)) (*.f64 d2 d3))
(+.f64 (+.f64 (*.f64 d3 3) (*.f64 d3 d2)) (*.f64 d3 d1))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d3)) (*.f64 d1 d2))
Outputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(+.f64 (+.f64 (*.f64 (neg.f64 d1) 3) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3))
(+.f64 (*.f64 (neg.f64 d1) (+.f64 3 d2)) (*.f64 d1 (neg.f64 d3)))
(*.f64 (neg.f64 d1) (+.f64 (+.f64 3 d2) d3))
(*.f64 d1 (-.f64 (+.f64 (neg.f64 d2) -3) d3))
(*.f64 d1 (-.f64 -3 (+.f64 d2 d3)))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3))
(+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 3 (neg.f64 d2))))
(*.f64 d1 (+.f64 d3 (-.f64 3 d2)))
(*.f64 d1 (+.f64 3 (-.f64 d3 d2)))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (+.f64 3 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 3 (-.f64 d2 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 (neg.f64 d1) 3) (*.f64 (neg.f64 d1) d2)) (*.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 (neg.f64 d2))) (*.f64 d1 d3)))
(neg.f64 (+.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 3 (neg.f64 d2)))))
(neg.f64 (*.f64 d1 (+.f64 d3 (-.f64 3 d2))))
(*.f64 d1 (-.f64 -3 (fma.f64 d2 -1 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 -3 d3)))
(neg.f64 (+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3))))
(neg.f64 (+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 (neg.f64 d3))))
(neg.f64 (*.f64 d1 (+.f64 (+.f64 3 d2) (neg.f64 d3))))
(*.f64 d1 (-.f64 -3 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d3 (-.f64 -3 d2)))
(+.f64 (+.f64 (*.f64 d2 3) (*.f64 d2 d1)) (*.f64 d2 d3))
(+.f64 (*.f64 d2 (+.f64 3 d1)) (*.f64 d2 d3))
(*.f64 d2 (+.f64 (+.f64 d1 3) d3))
(*.f64 d2 (+.f64 d1 (+.f64 3 d3)))
(+.f64 (+.f64 (*.f64 d3 3) (*.f64 d3 d2)) (*.f64 d3 d1))
(+.f64 (*.f64 d1 d3) (*.f64 d3 (+.f64 3 d2)))
(*.f64 d3 (+.f64 d1 (+.f64 3 d2)))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d3)) (*.f64 d1 d2))
(+.f64 (*.f64 d1 (+.f64 3 d2)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
Symmetry

(negabs d1)

(sort d2 d3)

Compiler

Compiled 84 to 41 computations (51.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 64.0ms
Operation ival-add, time spent: 36.0ms, 56.0% of total-time
Operation ival-mult, time spent: 25.0ms, 39.0% of total-time
Operation const, time spent: 3.0ms, 5.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 26 to 16 computations (38.5% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
Compiler

Compiled 10 to 7 computations (30% saved)

localize66.0ms (2.7%)

Compiler

Compiled 23 to 14 computations (39.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
Operation ival-add, time spent: 39.0ms, 93.0% of total-time
Operation ival-mult, time spent: 2.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 2.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 3 to 3 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 (+.f64 3 d2) d3))
Compiler

Compiled 31 to 20 computations (35.5% saved)

regimes11.0ms (0.5%)

Accuracy

Total -1.8b remaining (-∞%)

Threshold costs -1.8b (-∞%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
Outputs
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
Calls

4 calls:

3.0ms
d2
3.0ms
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
3.0ms
d1
3.0ms
d3
Results
AccuracySegmentsBranch
100.0%1d1
100.0%1d2
100.0%1d3
100.0%1(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
Compiler

Compiled 26 to 18 computations (30.8% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01328
11628
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
Outputs
(*.f64 d1 (+.f64 (+.f64 3 d2) d3))
Compiler

Compiled 10 to 7 computations (30% saved)

soundness389.0ms (15.6%)

Rules
3750×fma-def
552×unsub-neg
450×sub-neg
348×cancel-sign-sub
326×distribute-lft-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044439
1134328
2419314
31282308
43223308
54018308
64272308
74294308
84304308
94306308
105504308
115568308
125568308
135568308
Stop Event
saturated
Compiler

Compiled 30 to 17 computations (43.3% saved)

end0.0ms (0%)

preprocess33.0ms (1.3%)

Remove

(sort d2 d3)

(negabs d1)

Compiler

Compiled 148 to 102 computations (31.1% saved)

Profiling

Loading profile data...