fma_test1

Time bar (total: 6.2s)

analyze7.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
0%0%0%100%0%0%0%2
50%0%0%100%0%0%0%3
75%0%0%100%0%0%0%4
87.5%0%0%100%0%0%0%5
93.7%0%0%100%0%0%0%6
96.9%0%0%100%0%0%0%7
98.4%0%0%100%0%0%0%8
99.2%0%0%100%0%0%0%9
99.6%0%0%100%0%0%0%10
99.8%0%0%100%0%0%0%11
99.9%0%0%100%0%0%0%12
Compiler

Compiled 27 to 16 computations (40.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
...c/correct-round.rkt:119:19: 2.0ms (54.2% of total)
ival-mult: 1.0ms (27.1% of total)
ival-sub: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-and: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)
ival-<=: 0.0ms (0% of total)

sample3.0s (47.7%)

Results
2.5s8256×1valid
Precisions
Click to see histograms. Total time spent on operations: 1.8s
...c/correct-round.rkt:119:19: 618.0ms (35.2% of total)
ival-mult: 449.0ms (25.6% of total)
ival-add: 212.0ms (12.1% of total)
backward-pass: 200.0ms (11.4% of total)
ival-sub: 160.0ms (9.1% of total)
ival-<=: 68.0ms (3.9% of total)
const: 28.0ms (1.6% of total)
ival-and: 18.0ms (1% of total)
Bogosity

preprocess207.0ms (3.3%)

Algorithm
egg-herbie
Rules
1950×fnmadd-define
1912×fnmadd-define
1910×fma-define
1790×+-lowering-+.f64
1790×+-lowering-+.f32
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01947
17133
232130
3208130
4787730
01114
13510
213310
377010
422424
550024
082314
Stop Event
iter limit
node limit
node limit
Calls
Call 1
Inputs
(+ (* (+ 1 (* t 1/5000000000000000)) (+ 1 (* t 1/5000000000000000))) (- -1 (* 2 (* t 1/5000000000000000))))
Outputs
(+ (* (+ 1 (* t 1/5000000000000000)) (+ 1 (* t 1/5000000000000000))) (- -1 (* 2 (* t 1/5000000000000000))))
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
Call 2
Inputs
(+ (* (+ 1 (* t 1/5000000000000000)) (+ 1 (* t 1/5000000000000000))) (- -1 (* 2 (* t 1/5000000000000000))))
(+ (* (+ 1 (* (neg t) 1/5000000000000000)) (+ 1 (* (neg t) 1/5000000000000000))) (- -1 (* 2 (* (neg t) 1/5000000000000000))))
(neg (+ (* (+ 1 (* (neg t) 1/5000000000000000)) (+ 1 (* (neg t) 1/5000000000000000))) (- -1 (* 2 (* (neg t) 1/5000000000000000)))))
Outputs
(+ (* (+ 1 (* t 1/5000000000000000)) (+ 1 (* t 1/5000000000000000))) (- -1 (* 2 (* t 1/5000000000000000))))
(+ (square (fma t 1/5000000000000000 1)) (fma -1/2500000000000000 t -1))
(+ (* (+ 1 (* (neg t) 1/5000000000000000)) (+ 1 (* (neg t) 1/5000000000000000))) (- -1 (* 2 (* (neg t) 1/5000000000000000))))
(+ (square (fma t -1/5000000000000000 1)) (fnmadd t -1/2500000000000000 -1))
(neg (+ (* (+ 1 (* (neg t) 1/5000000000000000)) (+ 1 (* (neg t) 1/5000000000000000))) (- -1 (* 2 (* (neg t) 1/5000000000000000)))))
(- (fnmsub t 1/2500000000000000 -1) (square (fma t -1/5000000000000000 1)))

explain286.0ms (4.6%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-0-(+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))))
00-0-(*.f64 t #s(literal 1/5000000000000000 binary64))
00-0-#s(literal -1 binary64)
00-0-#s(literal 1/5000000000000000 binary64)
00-0-#s(literal 2 binary64)
00-0-(+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))
00-0-(*.f64 (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))))
00-0-(-.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))))
00-0-(*.f64 #s(literal 2 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))
00-0-t
00-0-#s(literal 1 binary64)
Results
208.0ms512×1valid
Compiler

Compiled 134 to 35 computations (73.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 80.0ms
...c/correct-round.rkt:119:19: 24.0ms (30% of total)
ival-mult: 21.0ms (26.2% of total)
backward-pass: 16.0ms (20% of total)
ival-add: 11.0ms (13.7% of total)
ival-sub: 5.0ms (6.2% of total)
const: 2.0ms (2.5% of total)

eval0.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
cost-diff0
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
Rules
14×*-lowering-*.f32
14×*-lowering-*.f64
*-commutative
associate-*r*
square-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0410
189
2109
0109
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* t (* t 1/25000000000000000000000000000000))
t
(* t 1/25000000000000000000000000000000)
1/25000000000000000000000000000000
Outputs
(* t (* t 1/25000000000000000000000000000000))
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
t
(* t 1/25000000000000000000000000000000)
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
1/25000000000000000000000000000000
#s(literal 1/25000000000000000000000000000000 binary64)

localize40.0ms (0.6%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy99.5%
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
accuracy99.3%
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
Results
33.0ms256×0valid
Compiler

Compiled 12 to 5 computations (58.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 17.0ms (76.9% of total)
...c/correct-round.rkt:119:19: 5.0ms (22.6% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series2.0ms (0%)

Counts
2 → 24
Calls
Call 1
Inputs
#<alt (* t (* t 1/25000000000000000000000000000000))>
#<alt (* t 1/25000000000000000000000000000000)>
Outputs
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 (pow t 2))>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
Calls

6 calls:

TimeVariablePointExpression
1.0ms
t
@0
(* t (* t 1/25000000000000000000000000000000))
0.0ms
t
@0
(* t 1/25000000000000000000000000000000)
0.0ms
t
@inf
(* t (* t 1/25000000000000000000000000000000))
0.0ms
t
@-inf
(* t 1/25000000000000000000000000000000)
0.0ms
t
@inf
(* t 1/25000000000000000000000000000000)

rewrite180.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
2200×pow-lowering-pow.f64
2200×pow-lowering-pow.f32
1432×prod-exp
1304×*-lowering-*.f32
1304×*-lowering-*.f64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0410
188
2128
3198
4368
5948
62882
718602
818922
920262
1033032
086872
Stop Event
iter limit
node limit
Counts
2 → 2
Calls
Call 1
Inputs
(* t (* t 1/25000000000000000000000000000000))
(* t 1/25000000000000000000000000000000)
Outputs
#s(literal 1/25000000000000000000000000000000 binary64)
#s(literal 1/25000000000000000000000000000000 binary64)

simplify17.0ms (0.3%)

Algorithm
egg-herbie
Rules
14×*-lowering-*.f32
14×*-lowering-*.f64
*-commutative
pow-lowering-pow.f64
pow-lowering-pow.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0696
1984
21284
01284
Stop Event
iter limit
saturated
Counts
24 → 24
Calls
Call 1
Inputs
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 (pow t 2))
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
Outputs
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 (pow t 2))
(*.f64 t (*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t))
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)

eval2.0ms (0%)

Compiler

Compiled 125 to 5 computations (96% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New24226
Fresh000
Picked011
Done000
Total24327
Accuracy
99.4%
Counts
27 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
25.3%
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
23.7%
#s(literal 1/25000000000000000000000000000000 binary64)
Compiler

Compiled 12 to 9 computations (25% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036
146
046
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
1/25000000000000000000000000000000
(* t 1/25000000000000000000000000000000)
t
1/25000000000000000000000000000000
Outputs
1/25000000000000000000000000000000
#s(literal 1/25000000000000000000000000000000 binary64)
(* t 1/25000000000000000000000000000000)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
t
1/25000000000000000000000000000000
#s(literal 1/25000000000000000000000000000000 binary64)

localize25.0ms (0.4%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy99.3%
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
Results
19.0ms256×0valid
Compiler

Compiled 8 to 4 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
...c/correct-round.rkt:119:19: 5.0ms (70.6% of total)
ival-mult: 2.0ms (28.2% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series1.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (* t 1/25000000000000000000000000000000)>
Outputs
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
#<alt (* 1/25000000000000000000000000000000 t)>
Calls

3 calls:

TimeVariablePointExpression
1.0ms
t
@0
(* t 1/25000000000000000000000000000000)
0.0ms
t
@inf
(* t 1/25000000000000000000000000000000)
0.0ms
t
@-inf
(* t 1/25000000000000000000000000000000)

rewrite9.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
143
043
Stop Event
iter limit
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(* t 1/25000000000000000000000000000000)
Outputs
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-lowering-*.f32
*-lowering-*.f64
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0336
1436
0436
Stop Event
iter limit
saturated
Counts
12 → 12
Calls
Call 1
Inputs
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
(* 1/25000000000000000000000000000000 t)
Outputs
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)
(* 1/25000000000000000000000000000000 t)
(*.f64 #s(literal 1/25000000000000000000000000000000 binary64) t)

eval1.0ms (0%)

Compiler

Compiled 43 to 4 computations (90.7% saved)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New14014
Fresh000
Picked022
Done011
Total14317
Accuracy
99.4%
Counts
17 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.4%
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
25.3%
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
23.7%
#s(literal 1/25000000000000000000000000000000 binary64)
Compiler

Compiled 41 to 23 computations (43.9% saved)

regimes7.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
#s(literal 1/25000000000000000000000000000000 binary64)
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
(+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))))
Outputs
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
Calls

3 calls:

2.0ms
(*.f64 t #s(literal 1/5000000000000000 binary64))
2.0ms
t
2.0ms
(+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))))
Results
AccuracySegmentsBranch
99.4%1t
99.4%1(+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64))) (+.f64 #s(literal 1 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 2 binary64) (*.f64 t #s(literal 1/5000000000000000 binary64)))))
99.4%1(*.f64 t #s(literal 1/5000000000000000 binary64))
Compiler

Compiled 26 to 15 computations (42.3% saved)

regimes2.0ms (0%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(literal 1/25000000000000000000000000000000 binary64)
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
Outputs
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
Calls

1 calls:

2.0ms
t
Results
AccuracySegmentsBranch
25.3%1t
Compiler

Compiled 2 to 1 computations (50% saved)

regimes1.0ms (0%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 1/25000000000000000000000000000000 binary64)
Outputs
#s(literal 1/25000000000000000000000000000000 binary64)
Calls

1 calls:

1.0ms
t
Results
AccuracySegmentsBranch
23.7%1t
Compiler

Compiled 2 to 1 computations (50% saved)

simplify10.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049
169
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
#s(literal 1/25000000000000000000000000000000 binary64)
Outputs
(*.f64 t (*.f64 t #s(literal 1/25000000000000000000000000000000 binary64)))
(*.f64 t #s(literal 1/25000000000000000000000000000000 binary64))
#s(literal 1/25000000000000000000000000000000 binary64)

soundness2.4s (38.6%)

Rules
2200×pow-lowering-pow.f64
2200×pow-lowering-pow.f32
1950×fnmadd-define
1910×fma-define
1790×+-lowering-+.f64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01114
13510
213310
377010
422424
550024
082314
0410
188
2128
3198
4368
5948
62882
718602
818922
920262
1033032
086872
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 13 to 7 computations (46.2% saved)

preprocess33.0ms (0.5%)

Compiler

Compiled 98 to 50 computations (49% saved)

end0.0ms (0%)

Profiling

Loading profile data...