Details

Time bar (total: 1.7s)

analyze4.0ms (0.2%)

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
25%25%75%0%0%0%0%3
62.5%62.5%37.5%0%0%0%0%4
78.6%68.7%18.7%0%12.5%0%0%5
88.5%71.8%9.4%0%18.7%0%0%6
94%73.4%4.7%0%21.9%0%0%7
96.9%74.2%2.3%0%23.4%0%0%8
98.5%74.6%1.2%0%24.2%0%0%9
99.2%75%0.6%0%24.4%0%0%10
99.6%75.1%0.3%0%24.6%0%0%11
99.8%75.1%0.1%0%24.7%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample1.5s (93%)

Results
878.0ms2751×body1024valid
294.0ms3867×body256valid
247.0ms1356×body512valid
112.0ms282×body2048valid
1.0ms10×body256infinite
Bogosity

preprocess21.0ms (1.3%)

Algorithm
egg-herbie
Rules
186×fma-def
78×associate-*r*
78×associate--r+
70×*-commutative
66×associate-+l-
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11711
22011
32411
43311
54311
66211
711811
817911
926311
1040011
1158911
1266711
1370911
011
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 (-.f64 (exp.f64 x) 1) x)
Outputs
(/.f64 (-.f64 (exp.f64 x) 1) x)
(/.f64 (expm1.f64 x) x)
Compiler

Compiled 8 to 6 computations (25% saved)

simplify28.0ms (1.7%)

Algorithm
egg-herbie
Rules
186×fma-def
78×associate-*r*
78×associate--r+
70×*-commutative
66×associate-+l-
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11711
22011
32411
43311
54311
66211
711811
817911
926311
1040011
1158911
1266711
1370911
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) 1) x)
Outputs
(/.f64 (-.f64 (exp.f64 x) 1) x)
(/.f64 (expm1.f64 x) x)

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
100.0%
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
100.0%
(/.f64 (expm1.f64 x) x)
Compiler

Compiled 5 to 3 computations (40% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
100.0%
(/.f64 (expm1.f64 x) x)
Compiler

Compiled 8 to 3 computations (62.5% saved)

series1.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(/.f64 (expm1.f64 x) x)
0.0ms
x
@inf
(/.f64 (expm1.f64 x) x)
0.0ms
x
@0
(/.f64 (expm1.f64 x) x)

rewrite58.0ms (3.5%)

Algorithm
batch-egg-rewrite
Rules
1258×add-sqr-sqrt
1246×*-un-lft-identity
1158×add-cube-cbrt
1142×add-cbrt-cube
1130×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
112011
2153811
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (expm1.f64 x) x)
Outputs
((((x -.f64 (+.f64 1 (/.f64 (expm1.f64 x) x)) 1))) (((x -.f64 (/.f64 (exp.f64 x) x) (/.f64 1 x)))) (((x *.f64 (expm1.f64 x) (/.f64 1 x)))) (((x *.f64 (/.f64 (expm1.f64 x) x) 1))) (((x *.f64 1 (/.f64 (expm1.f64 x) x)))) (((x *.f64 (sqrt.f64 (/.f64 (expm1.f64 x) x)) (sqrt.f64 (/.f64 (expm1.f64 x) x))))) (((x *.f64 (sqrt.f64 (expm1.f64 x)) (*.f64 (sqrt.f64 (expm1.f64 x)) (/.f64 1 x))))) (((x *.f64 (cbrt.f64 (/.f64 (expm1.f64 x) x)) (pow.f64 (cbrt.f64 (/.f64 (expm1.f64 x) x)) 2)))) (((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (expm1.f64 x) x)) 2) (cbrt.f64 (/.f64 (expm1.f64 x) x))))) (((x *.f64 (pow.f64 (cbrt.f64 (expm1.f64 x)) 2) (*.f64 (cbrt.f64 (expm1.f64 x)) (/.f64 1 x))))) (((x *.f64 (/.f64 1 x) (expm1.f64 x)))) (((x *.f64 (neg.f64 (expm1.f64 x)) (/.f64 1 (neg.f64 x))))) (((x *.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (expm1.f64 x) (sqrt.f64 x))))) (((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (expm1.f64 x) (cbrt.f64 x))))) (((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 x)) 1) (/.f64 (sqrt.f64 (expm1.f64 x)) x)))) (((x *.f64 (/.f64 (sqrt.f64 (expm1.f64 x)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (expm1.f64 x)) (cbrt.f64 x))))) (((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 x)) 2) 1) (/.f64 (cbrt.f64 (expm1.f64 x)) x)))) (((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 x)) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 (expm1.f64 x)) (sqrt.f64 x))))) (((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (expm1.f64 x)) 2) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 (/.f64 (expm1.f64 x) x))))) (((x pow.f64 (/.f64 (expm1.f64 x) x) 1))) (((x pow.f64 (sqrt.f64 (/.f64 (expm1.f64 x) x)) 2))) (((x pow.f64 (cbrt.f64 (/.f64 (expm1.f64 x) x)) 3))) (((x pow.f64 (pow.f64 (/.f64 (expm1.f64 x) x) 3) 1/3))) (((x pow.f64 (/.f64 x (expm1.f64 x)) -1))) (((x neg.f64 (/.f64 (expm1.f64 x) (neg.f64 x))))) (((x sqrt.f64 (pow.f64 (/.f64 (expm1.f64 x) x) 2)))) (((x log.f64 (exp.f64 (/.f64 (expm1.f64 x) x))))) (((x cbrt.f64 (pow.f64 (/.f64 (expm1.f64 x) x) 3)))) (((x expm1.f64 (log1p.f64 (/.f64 (expm1.f64 x) x))))) (((x exp.f64 (log.f64 (/.f64 (expm1.f64 x) x))))) (((x log1p.f64 (expm1.f64 (/.f64 (expm1.f64 x) x))))))

end0.0ms (0%)

Profiling

Loading profile data...