Details

Time bar (total: 1.1s)

analyze0.0ms (0%)

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

Compiled 24 to 15 computations (37.5% saved)

sample976.0ms (91.3%)

Results
964.0ms8256×body256valid
Bogosity

preprocess16.0ms (1.5%)

Algorithm
egg-herbie
Rules
124×fma-def
26×associate-+r+
24×+-commutative
20×*-commutative
20×associate-+l+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0838
11638
23338
35538
49638
512038
613838
715138
815338
022
122
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
0
Call 2
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
(*.f64 (+.f64 b a) (+.f64 b a))
Outputs
(*.f64 (+.f64 a b) (+.f64 a b))
(*.f64 (+.f64 b a) (+.f64 b a))
(*.f64 (+.f64 a b) (+.f64 a b))
Symmetry

(sort a b)

Compiler

Compiled 11 to 6 computations (45.5% saved)

simplify15.0ms (1.4%)

Algorithm
egg-herbie
Rules
124×fma-def
30×+-commutative
26×associate-+r+
20×*-commutative
20×associate-+l+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0619
11319
23219
35619
49819
512219
614019
715319
815519
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
Outputs
(*.f64 (+.f64 a b) (+.f64 a b))

eval0.0ms (0%)

Compiler

Compiled 9 to 4 computations (55.6% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
100.0%
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
100.0%
(*.f64 (+.f64 a b) (+.f64 a b))
Compiler

Compiled 9 to 4 computations (55.6% saved)

localize4.0ms (0.4%)

Local error

Found 1 expressions with local error:

NewErrorProgram
100.0%
(*.f64 (+.f64 a b) (+.f64 a b))
Compiler

Compiled 14 to 4 computations (71.4% saved)

series1.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
a
@0
(*.f64 (+.f64 a b) (+.f64 a b))
0.0ms
a
@inf
(*.f64 (+.f64 a b) (+.f64 a b))
0.0ms
a
@-inf
(*.f64 (+.f64 a b) (+.f64 a b))
0.0ms
b
@inf
(*.f64 (+.f64 a b) (+.f64 a b))
0.0ms
b
@-inf
(*.f64 (+.f64 a b) (+.f64 a b))

rewrite54.0ms (5.1%)

Algorithm
batch-egg-rewrite
Rules
1532×add-sqr-sqrt
1514×*-un-lft-identity
1422×add-cube-cbrt
1402×add-cbrt-cube
1392×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
113513
2193213
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 a b) (+.f64 a b))
Outputs
((((x +.f64 (*.f64 a (+.f64 a b)) (*.f64 b (+.f64 a b))))) (((x +.f64 (*.f64 b (+.f64 a b)) (*.f64 a (+.f64 a b))))) (((x +.f64 (*.f64 (*.f64 a (+.f64 a b)) 1) (*.f64 (*.f64 b (+.f64 a b)) 1)))) (((x -.f64 (+.f64 1 (pow.f64 (+.f64 a b) 2)) 1))) (((x /.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 a b) (-.f64 a b))))) (((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (+.f64 (pow.f64 a 3) (pow.f64 b 3))) (*.f64 (fma.f64 a a (*.f64 b (-.f64 b a))) (fma.f64 a a (*.f64 b (-.f64 b a))))))) (((x /.f64 (*.f64 (+.f64 a b) (-.f64 (*.f64 a a) (*.f64 b b))) (-.f64 a b)))) (((x /.f64 (*.f64 (+.f64 a b) (+.f64 (pow.f64 a 3) (pow.f64 b 3))) (fma.f64 a a (*.f64 b (-.f64 b a)))))) (((x /.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (+.f64 a b)) (-.f64 a b)))) (((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (+.f64 a b)) (fma.f64 a a (*.f64 b (-.f64 b a)))))) (((x /.f64 (-.f64 (*.f64 (*.f64 a (+.f64 a b)) (*.f64 a (+.f64 a b))) (*.f64 (*.f64 b (+.f64 a b)) (*.f64 b (+.f64 a b)))) (-.f64 (*.f64 a (+.f64 a b)) (*.f64 b (+.f64 a b)))))) (((x /.f64 (+.f64 (pow.f64 (*.f64 a (+.f64 a b)) 3) (pow.f64 (*.f64 b (+.f64 a b)) 3)) (+.f64 (*.f64 (*.f64 a (+.f64 a b)) (*.f64 a (+.f64 a b))) (-.f64 (*.f64 (*.f64 b (+.f64 a b)) (*.f64 b (+.f64 a b))) (*.f64 (*.f64 a (+.f64 a b)) (*.f64 b (+.f64 a b)))))))) (((x /.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (+.f64 (pow.f64 a 3) (pow.f64 b 3))) (*.f64 (-.f64 a b) (fma.f64 a a (*.f64 b (-.f64 b a))))))) (((x /.f64 (*.f64 (+.f64 (pow.f64 a 3) (pow.f64 b 3)) (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (fma.f64 a a (*.f64 b (-.f64 b a))) (-.f64 a b))))) (((x pow.f64 (+.f64 a b) 2))) (((x pow.f64 (pow.f64 (+.f64 a b) 2) 1))) (((x pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 3))) (((x pow.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3) 1/3))) (((x sqrt.f64 (pow.f64 (+.f64 a b) 4)))) (((x log.f64 (exp.f64 (pow.f64 (+.f64 a b) 2))))) (((x cbrt.f64 (pow.f64 (pow.f64 (+.f64 a b) 2) 3)))) (((x expm1.f64 (log1p.f64 (pow.f64 (+.f64 a b) 2))))) (((x exp.f64 (log.f64 (pow.f64 (+.f64 a b) 2))))) (((x exp.f64 (*.f64 (log.f64 (+.f64 a b)) 2)))) (((x exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 2)) 1)))) (((x log1p.f64 (expm1.f64 (pow.f64 (+.f64 a b) 2))))) (((x fma.f64 a (+.f64 a b) (*.f64 b (+.f64 a b))))) (((x fma.f64 (+.f64 a b) a (*.f64 b (+.f64 a b))))))

end0.0ms (0%)

Profiling

Loading profile data...