Details

Time bar (total: 4.0s)

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 27 to 22 computations (18.5% saved)

sample1.5s (36.7%)

Results
1.4s8256×body256valid
Bogosity

preprocess71.0ms (1.8%)

Algorithm
egg-herbie
Rules
1516×fma-def
1130×*-commutative
1084×distribute-lft-neg-in
1004×+-commutative
800×distribute-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01351
13837
211333
337529
4121413
5365213
6558313
7735313
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
Outputs
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
(fma.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 -1 (*.f64 -2 (*.f64 t 1/5000000000000000))))
(+.f64 (fma.f64 (fma.f64 t 1/5000000000000000 1) (fma.f64 t 1/5000000000000000 1) -1) (*.f64 -1/2500000000000000 t))
(fma.f64 (fma.f64 t 1/5000000000000000 1) (fma.f64 t 1/5000000000000000 1) (fma.f64 -1/2500000000000000 t -1))
(fma.f64 (*.f64 t 1/5000000000000000) (fma.f64 t 1/5000000000000000 2) (*.f64 t -1/2500000000000000))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
Compiler

Compiled 21 to 18 computations (14.3% saved)

simplify76.0ms (1.9%)

Algorithm
egg-herbie
Rules
1516×fma-def
1130×*-commutative
1084×distribute-lft-neg-in
1004×+-commutative
800×distribute-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01351
13837
211333
337529
4121413
5365213
6558313
7735313
Stop Event
node limit
Counts
1 → 6
Calls
Call 1
Inputs
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
Outputs
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
(fma.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 -1 (*.f64 -2 (*.f64 t 1/5000000000000000))))
(+.f64 (fma.f64 (fma.f64 t 1/5000000000000000 1) (fma.f64 t 1/5000000000000000 1) -1) (*.f64 -1/2500000000000000 t))
(fma.f64 (fma.f64 t 1/5000000000000000 1) (fma.f64 t 1/5000000000000000 1) (fma.f64 -1/2500000000000000 t -1))
(fma.f64 (*.f64 t 1/5000000000000000) (fma.f64 t 1/5000000000000000 2) (*.f64 t -1/2500000000000000))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))

eval2.0ms (0%)

Compiler

Compiled 81 to 64 computations (21% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New516
Fresh101
Picked000
Done000
Total617
Error
0.4b
Counts
7 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
Compiler

Compiled 6 to 4 computations (33.3% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
0.4b
(*.f64 t 1/25000000000000000000000000000000)
Compiler

Compiled 11 to 7 computations (36.4% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite67.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1100×add-sqr-sqrt
1084×*-un-lft-identity
1028×pow1
1014×add-cube-cbrt
1000×add-cbrt-cube
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0620
112220
2138420
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))))

simplify61.0ms (1.5%)

Algorithm
egg-herbie
Rules
1424×associate-/l/
1256×fma-def
954×log-prod
856×associate-*r/
690×associate-*l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059460
1144460
2604460
32220460
46621460
Stop Event
node limit
Counts
46 → 25
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(-.f64 (+.f64 1 (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(-.f64 (+.f64 1 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1)
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/25000000000000000000000000000000)))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
Outputs
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(-.f64 (+.f64 1 (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 t)
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 t)
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(-.f64 (+.f64 1 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))

eval5.0ms (0.1%)

Compiler

Compiled 183 to 132 computations (27.9% saved)

prune8.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New20525
Fresh000
Picked011
Done000
Total20626
Error
0.0b
Counts
26 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(pow.f64 (*.f64 t 1/5000000000000000) 2)
0.6b
(*.f64 t (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2))
1.8b
(*.f64 t (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3))
0.4b
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
0.3b
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
0.4b
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Compiler

Compiled 84 to 62 computations (26.2% saved)

localize11.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
0.3b
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
0.3b
(*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)
Compiler

Compiled 25 to 12 computations (52% saved)

series2.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
t
@inf
(*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)
0.0ms
t
@0
(*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)
0.0ms
t
@-inf
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
0.0ms
t
@-inf
(*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)
0.0ms
t
@0
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))

rewrite76.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1582×add-sqr-sqrt
1562×*-un-lft-identity
1460×add-cube-cbrt
1444×add-cbrt-cube
168×pow1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0953
118133
2212533
Stop Event
node limit
Counts
3 → 56
Calls
Call 1
Inputs
(*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/25000000000000000000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 t t)) 1/625000000000000000000000000000000000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 t 1/25000000000000000000000000000000)) t))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t 1/25000000000000000000000000000000)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (*.f64 (sqrt.f64 t) 1/5000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/25000000000000000000000000000000 t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 t) (sqrt.f64 (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 t) (pow.f64 (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 t 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 t 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))))))

simplify109.0ms (2.7%)

Algorithm
egg-herbie
Rules
892×*-commutative
718×log-prod
702×associate-/l*
512×distribute-lft-in
502×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01241030
12751018
210181010
334871010
462941010
Stop Event
node limit
Counts
92 → 68
Calls
Call 1
Inputs
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 -1/25000000000000000000000000000000 t)
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))) 1)
(pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 3)
(pow.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)) 1/2)
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 3) 1/3)
(sqrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 t t)) 1/625000000000000000000000000000000000000000000000000000000000000))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))) 1))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(log.f64 (pow.f64 (exp.f64 (*.f64 t 1/25000000000000000000000000000000)) t))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 t (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2))
(*.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (*.f64 (sqrt.f64 t) 1/5000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (sqrt.f64 t) (sqrt.f64 (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))
(*.f64 (sqrt.f64 t) (pow.f64 (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000) 1/2))
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
(*.f64 (pow.f64 1 1/2) (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/2))
(pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 1/2)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)
(fabs.f64 (*.f64 t 1/25000000000000000000000000000000))
(log.f64 (exp.f64 (*.f64 t 1/25000000000000000000000000000000)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
Outputs
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 (*.f64 t t) -1/25000000000000000000000000000000)
(*.f64 t (*.f64 t -1/25000000000000000000000000000000))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 (*.f64 t t) -1/25000000000000000000000000000000)
(*.f64 t (*.f64 t -1/25000000000000000000000000000000))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 (*.f64 t t) -1/25000000000000000000000000000000)
(*.f64 t (*.f64 t -1/25000000000000000000000000000000))
(*.f64 -1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 (*.f64 t t) -1/25000000000000000000000000000000)
(*.f64 t (*.f64 t -1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 t -1/25000000000000000000000000000000)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 t -1/25000000000000000000000000000000)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 t -1/25000000000000000000000000000000)
(*.f64 -1/25000000000000000000000000000000 t)
(*.f64 t -1/25000000000000000000000000000000)
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))) 1)
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 1)
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 2)
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 3)
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(pow.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)) 1/2)
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 3) 1/3)
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(sqrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(log.f64 (pow.f64 (exp.f64 (*.f64 t t)) 1/625000000000000000000000000000000000000000000000000000000000000))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 3))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))) 1))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))))
(*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 t))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(log.f64 (pow.f64 (exp.f64 (*.f64 t 1/25000000000000000000000000000000)) t))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 t (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (*.f64 (sqrt.f64 t) 1/5000000000000000))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (sqrt.f64 t) (sqrt.f64 (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (sqrt.f64 t) (pow.f64 (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000) 1/2))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))) (fabs.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))))
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (pow.f64 1 1/2) (*.f64 t 1/25000000000000000000000000000000))
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))) (fabs.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (sqrt.f64 (cbrt.f64 (*.f64 1/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))))
(pow.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)) 1/2)
(*.f64 t 1/25000000000000000000000000000000)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 t 1/25000000000000000000000000000000)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(*.f64 t 1/25000000000000000000000000000000)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(*.f64 t 1/25000000000000000000000000000000)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)
(*.f64 t 1/25000000000000000000000000000000)
(fabs.f64 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 t 1/25000000000000000000000000000000)
(log.f64 (exp.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 t 1/25000000000000000000000000000000)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 t 1/25000000000000000000000000000000)
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(*.f64 t 1/25000000000000000000000000000000)
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 t 1/25000000000000000000000000000000)
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 t 1/25000000000000000000000000000000)
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000))) 1/2))
(*.f64 t 1/25000000000000000000000000000000)
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))
(*.f64 t 1/25000000000000000000000000000000)
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 t 1/25000000000000000000000000000000)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.4b
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Compiler

Compiled 11 to 5 computations (54.5% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite48.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1070×add-sqr-sqrt
1052×*-un-lft-identity
1000×pow1
986×add-cube-cbrt
978×add-cbrt-cube
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
112313
2141013
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))))))

simplify41.0ms (1%)

Algorithm
egg-herbie
Rules
1554×distribute-rgt-in
1528×distribute-lft-in
1292×log-prod
826×associate-*r*
768×associate-+r+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038299
193299
2346299
32095299
Stop Event
node limit
Counts
23 → 14
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(-.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 1)
(pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 1)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 3)
(pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3) 1/3)
(sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))
(log.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) (*.f64 t t)))
(cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(-.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) (*.f64 t t)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 t 1/5000000000000000)
0.4b
(pow.f64 (*.f64 t 1/5000000000000000) 2)
Compiler

Compiled 12 to 9 computations (25% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
t
@-inf
(pow.f64 (*.f64 t 1/5000000000000000) 2)
0.0ms
t
@0
(pow.f64 (*.f64 t 1/5000000000000000) 2)
0.0ms
t
@inf
(pow.f64 (*.f64 t 1/5000000000000000) 2)
0.0ms
t
@0
(*.f64 t 1/5000000000000000)
0.0ms
t
@-inf
(*.f64 t 1/5000000000000000)

rewrite52.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1190×add-sqr-sqrt
1168×*-un-lft-identity
1112×pow1
1092×add-cube-cbrt
1084×add-cbrt-cube
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
114720
2157720
Stop Event
node limit
Counts
2 → 35
Calls
Call 1
Inputs
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 t 1/5000000000000000)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (*.f64 1/5000000000000000 (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/5000000000000000 (*.f64 t (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) (*.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)) (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t t) 1/25000000000000000000000000000000)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/25000000000000000000000000000000 (*.f64 t t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t 1/5000000000000000) (sqrt.f64 (*.f64 t 1/5000000000000000))) (sqrt.f64 (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 t 1/5000000000000000) (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))) (cbrt.f64 (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (*.f64 t 1/5000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/5000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t 1/5000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 t 1/5000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/5000000000000000) t))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t 1/5000000000000000)))))))

simplify95.0ms (2.4%)

Algorithm
egg-herbie
Rules
1348×distribute-lft-in
1314×distribute-rgt-in
668×unswap-sqr
602×fma-def
596×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
078669
1180669
2785669
32513669
47895669
Stop Event
node limit
Counts
59 → 42
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(*.f64 1/5000000000000000 t)
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(*.f64 t (*.f64 1/5000000000000000 (*.f64 t 1/5000000000000000)))
(*.f64 1/5000000000000000 (*.f64 t (*.f64 t 1/5000000000000000)))
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
(*.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(*.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))
(*.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 t 1/5000000000000000)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) (*.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 t 1/5000000000000000)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)) (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 (*.f64 t t) 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) (sqrt.f64 (*.f64 t 1/5000000000000000))) (sqrt.f64 (*.f64 t 1/5000000000000000)))
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))) (cbrt.f64 (*.f64 t 1/5000000000000000)))
(sqrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4))
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(exp.f64 (*.f64 2 (log.f64 (*.f64 t 1/5000000000000000))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(-.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) 1)
(pow.f64 (*.f64 t 1/5000000000000000) 1)
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1/2)
(pow.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) 2)
(pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 t 1/5000000000000000) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))
(fabs.f64 (*.f64 t 1/5000000000000000))
(log.f64 (pow.f64 (exp.f64 1/5000000000000000) t))
(cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 t 1/5000000000000000)))
(exp.f64 (log.f64 (*.f64 t 1/5000000000000000)))
(log1p.f64 (expm1.f64 (*.f64 t 1/5000000000000000)))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(*.f64 1/5000000000000000 t)
(*.f64 t 1/5000000000000000)
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 t (*.f64 1/5000000000000000 (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/5000000000000000 (*.f64 t (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)))
(*.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 2)) (cbrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))))
(*.f64 (cbrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))) (pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 2))
(*.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) (*.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)) (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 2)) (cbrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))))
(*.f64 (cbrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (pow.f64 t 4))) (pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 2))
(*.f64 (*.f64 t t) 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) (sqrt.f64 (*.f64 t 1/5000000000000000))) (sqrt.f64 (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))) (cbrt.f64 (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(sqrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(exp.f64 (*.f64 2 (log.f64 (*.f64 t 1/5000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(-.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) 1)
(*.f64 t 1/5000000000000000)
(pow.f64 (*.f64 t 1/5000000000000000) 1)
(*.f64 t 1/5000000000000000)
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1/2)
(*.f64 t 1/5000000000000000)
(pow.f64 (sqrt.f64 (*.f64 t 1/5000000000000000)) 2)
(*.f64 t 1/5000000000000000)
(pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 3)
(*.f64 t 1/5000000000000000)
(pow.f64 (pow.f64 (*.f64 t 1/5000000000000000) 3) 1/3)
(*.f64 t 1/5000000000000000)
(sqrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000))
(*.f64 t 1/5000000000000000)
(fabs.f64 (*.f64 t 1/5000000000000000))
(*.f64 t 1/5000000000000000)
(log.f64 (pow.f64 (exp.f64 1/5000000000000000) t))
(*.f64 t 1/5000000000000000)
(cbrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 3))
(*.f64 t 1/5000000000000000)
(expm1.f64 (log1p.f64 (*.f64 t 1/5000000000000000)))
(*.f64 t 1/5000000000000000)
(exp.f64 (log.f64 (*.f64 t 1/5000000000000000)))
(*.f64 t 1/5000000000000000)
(log1p.f64 (expm1.f64 (*.f64 t 1/5000000000000000)))
(*.f64 t 1/5000000000000000)

localize32.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 t (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3))
0.4b
(*.f64 t 1/25000000000000000000000000000000)
0.8b
(cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))
0.9b
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
Compiler

Compiled 25 to 19 computations (24% saved)

series11.0ms (0.3%)

Counts
3 → 12
Calls

9 calls:

TimeVariablePointExpression
3.0ms
t
@-inf
(*.f64 t (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3))
2.0ms
t
@0
(*.f64 t (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3))
2.0ms
t
@0
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
1.0ms
t
@-inf
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
1.0ms
t
@inf
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)

rewrite99.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
1626×add-sqr-sqrt
1590×*-un-lft-identity
1508×add-cube-cbrt
1490×add-cbrt-cube
170×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
120731
2214031
Stop Event
node limit
Counts
3 → 67
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 t (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t 1/25000000000000000000000000000000)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t (pow.f64 (cbrt.f64 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/25000000000000000000000000000000 t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) (*.f64 1/5000000000000000 (sqrt.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 t) (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t t)) (*.f64 (cbrt.f64 t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/25000000000000000000000000000000 (sqrt.f64 t)) (sqrt.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/25000000000000000000000000000000 (cbrt.f64 (*.f64 t t))) (cbrt.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6)) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 t)) (cbrt.f64 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 3) (pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) 3) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) t))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 t) (cbrt.f64 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/3) (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) t) t))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))))

simplify79.0ms (2%)

Algorithm
egg-herbie
Rules
1478×fma-def
716×log-prod
554×+-commutative
508×distribute-rgt-in
508×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0139931
1301931
21055931
33206919
47151919
Stop Event
node limit
Counts
79 → 78
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 t (pow.f64 (cbrt.f64 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) (*.f64 1/5000000000000000 (sqrt.f64 t)))
(*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) 1/25000000000000000000000000000000))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (cbrt.f64 t) (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (cbrt.f64 (*.f64 t t)) (*.f64 (cbrt.f64 t) 1/25000000000000000000000000000000))
(*.f64 (*.f64 1/25000000000000000000000000000000 (sqrt.f64 t)) (sqrt.f64 t))
(*.f64 (*.f64 1/25000000000000000000000000000000 (cbrt.f64 (*.f64 t t))) (cbrt.f64 t))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6)) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 t)) (cbrt.f64 1/25000000000000000000000000000000))
(*.f64 (pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 3) (pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 3))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) 3) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t)))
(log.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) t))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))) 1)
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 1 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6))
(*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 (cbrt.f64 t) (cbrt.f64 1/25000000000000000000000000000000))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/3) (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/3))
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/3)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 3)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1/3))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) t) t))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t (pow.f64 (cbrt.f64 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) (*.f64 1/5000000000000000 (sqrt.f64 t)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (sqrt.f64 t) (*.f64 (sqrt.f64 t) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (cbrt.f64 t) (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2)))
(*.f64 (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t)) (pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2) (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t)))
(*.f64 (cbrt.f64 1/25000000000000000000000000000000) (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2) (cbrt.f64 t)))
(*.f64 (cbrt.f64 (*.f64 t t)) (*.f64 (cbrt.f64 t) 1/25000000000000000000000000000000))
(*.f64 (cbrt.f64 (*.f64 t t)) (*.f64 1/25000000000000000000000000000000 (cbrt.f64 t)))
(*.f64 (cbrt.f64 t) (*.f64 1/25000000000000000000000000000000 (cbrt.f64 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 (cbrt.f64 t) (cbrt.f64 (*.f64 t t))))
(*.f64 (*.f64 1/25000000000000000000000000000000 (sqrt.f64 t)) (sqrt.f64 t))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 1/25000000000000000000000000000000 (cbrt.f64 (*.f64 t t))) (cbrt.f64 t))
(*.f64 (cbrt.f64 (*.f64 t t)) (*.f64 1/25000000000000000000000000000000 (cbrt.f64 t)))
(*.f64 (cbrt.f64 t) (*.f64 1/25000000000000000000000000000000 (cbrt.f64 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 (cbrt.f64 t) (cbrt.f64 (*.f64 t t))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6)) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 t)) (cbrt.f64 1/25000000000000000000000000000000))
(*.f64 (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t)) (pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2) (*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t)))
(*.f64 (cbrt.f64 1/25000000000000000000000000000000) (*.f64 (pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2) (cbrt.f64 t)))
(*.f64 (pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 3) (pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 3))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) 3) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t)))
(*.f64 1/25000000000000000000000000000000 t)
(log.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) t))
(*.f64 1/25000000000000000000000000000000 t)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 t)
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 t)
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))
(*.f64 1/25000000000000000000000000000000 t)
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))) 1)
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 1)
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/3))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 2) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (cbrt.f64 t) (cbrt.f64 1/25000000000000000000000000000000))
(*.f64 (cbrt.f64 1/25000000000000000000000000000000) (cbrt.f64 t))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(*.f64 (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/3) (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/3))
(*.f64 (cbrt.f64 (*.f64 1/5000000000000000 (sqrt.f64 t))) (cbrt.f64 (*.f64 1/5000000000000000 (sqrt.f64 t))))
(pow.f64 (pow.f64 (*.f64 1/5000000000000000 (sqrt.f64 t)) 1/6) 4)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 1)
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/3)
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/6) 2)
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 3)
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) 1))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1/3))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (*.f64 1/25000000000000000000000000000000 t))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log.f64 (pow.f64 (pow.f64 (exp.f64 1/25000000000000000000000000000000) t) t))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))

localize11.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 t (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2))
0.3b
(*.f64 (sqrt.f64 t) 1/5000000000000000)
0.4b
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
Compiler

Compiled 24 to 15 computations (37.5% saved)

series4.0ms (0.1%)

Counts
3 → 12
Calls

9 calls:

TimeVariablePointExpression
1.0ms
t
@-inf
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
1.0ms
t
@-inf
(*.f64 t (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2))
1.0ms
t
@0
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
0.0ms
t
@inf
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
0.0ms
t
@-inf
(*.f64 (sqrt.f64 t) 1/5000000000000000)

rewrite63.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1690×add-sqr-sqrt
1664×*-un-lft-identity
1550×add-cube-cbrt
1534×add-cbrt-cube
184×pow1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01051
120431
2226931
Stop Event
node limit
Counts
3 → 52
Calls
Call 1
Inputs
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(*.f64 t (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 t 1/25000000000000000000000000000000)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 t) (*.f64 1/5000000000000000 (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/5000000000000000 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (*.f64 (sqrt.f64 t) 1/5000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 t 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 t 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1/5000000000000000)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/25000000000000000000000000000000 t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))) (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 1/5000000000000000) (sqrt.f64 t))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 t 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sqrt.f64 t)) 1/5000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))))))

simplify54.0ms (1.4%)

Algorithm
egg-herbie
Rules
1190×associate-*r/
1020×unswap-sqr
868×associate-*l/
538×distribute-lft-in
522×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0116780
1265760
21105754
34327754
Stop Event
node limit
Counts
64 → 61
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 (sqrt.f64 t) (*.f64 1/5000000000000000 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 1/5000000000000000 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (*.f64 (sqrt.f64 t) 1/5000000000000000))
(*.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1/5000000000000000)
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))) (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 1/5000000000000000) (sqrt.f64 t))
(*.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))) 1)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 1)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 2)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 3) 1/3)
(sqrt.f64 (*.f64 t 1/25000000000000000000000000000000))
(fabs.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 t)) 1/5000000000000000))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 1))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/25000000000000000000000000000000)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 -1/25000000000000000000000000000000 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 t 2)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(-.f64 (exp.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000))) 1)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 t 1/25000000000000000000000000000000)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (sqrt.f64 t) (*.f64 1/5000000000000000 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/5000000000000000 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/5000000000000000 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (*.f64 (sqrt.f64 t) 1/5000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1/5000000000000000)
(*.f64 1/5000000000000000 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))))
(*.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 2) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))) (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 1/5000000000000000) (sqrt.f64 t))
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000))) (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) (*.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))))
(*.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 4))
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
(sqrt.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))
(fabs.f64 (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 t)
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 t)
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (*.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)) 1))
(*.f64 1/25000000000000000000000000000000 t)
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))) 1)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 1)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1/2)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 2)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 3)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 3) 1/3)
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(sqrt.f64 (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(fabs.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 t)) 1/5000000000000000))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000))))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 3))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(exp.f64 (log.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)) 1))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000)))
(*.f64 (sqrt.f64 t) 1/5000000000000000)
(-.f64 (exp.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000)) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(exp.f64 (*.f64 (log.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))) 1))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/25000000000000000000000000000000))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))

eval138.0ms (3.5%)

Compiler

Compiled 2612 to 1889 computations (27.7% saved)

prune60.0ms (1.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2714275
Fresh000
Picked101
Done325
Total2756281
Error
0b
Counts
281 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
0.4b
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
0.5b
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
0.6b
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
0.4b
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
0.4b
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Compiler

Compiled 44 to 32 computations (27.3% saved)

localize13.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
0.4b
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
1.0b
(pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2)
Compiler

Compiled 19 to 15 computations (21.1% saved)

series1.0ms (0%)

Counts
3 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
t
@0
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
0.0ms
t
@inf
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
0.0ms
t
@-inf
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
0.0ms
t
@0
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
0.0ms
t
@-inf
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))

rewrite65.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1386×add-sqr-sqrt
1360×*-un-lft-identity
1280×add-cube-cbrt
1266×add-cbrt-cube
1252×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
117021
2175321
Stop Event
node limit
Counts
3 → 23
Calls
Call 1
Inputs
(pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2)
(*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t)
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 1/25000000000000000000000000000000)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/25000000000000000000000000000000 t) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 t) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 t) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 t)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 t)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (*.f64 1/25000000000000000000000000000000 t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))))))

simplify44.0ms (1.1%)

Algorithm
egg-herbie
Rules
1424×associate-*r*
1280×associate-*l*
1048×associate-+l+
966×associate-+r+
738×associate-*r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056471
1141471
2568465
34154465
Stop Event
node limit
Counts
47 → 29
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
1/25000000000000000000000000000000
(-.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 t)) 1)
(pow.f64 (*.f64 1/25000000000000000000000000000000 t) 1)
(pow.f64 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 3)
(pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 t) 3) 1/3)
(sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t)))
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 t) 3))
(expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 t)))
(exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 t)))
(log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 t)))
(-.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 1)
(pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 1)
(pow.f64 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 2)
(pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 3)
(pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 2))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 1/25000000000000000000000000000000 t)))
(cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
Outputs
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
1/25000000000000000000000000000000
(-.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 t)) 1)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (*.f64 1/25000000000000000000000000000000 t) 1)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 2)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 t)) 3)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 t) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 t)
(sqrt.f64 (*.f64 1/625000000000000000000000000000000000000000000000000000000000000 (*.f64 t t)))
(sqrt.f64 (*.f64 t (*.f64 t 1/625000000000000000000000000000000000000000000000000000000000000)))
(fabs.f64 (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 t) 3))
(*.f64 1/25000000000000000000000000000000 t)
(expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 t)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 t)))
(*.f64 1/25000000000000000000000000000000 t)
(log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 t)))
(*.f64 1/25000000000000000000000000000000 t)
(-.f64 (+.f64 1 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (sqrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (cbrt.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(sqrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 1/25000000000000000000000000000000 t)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(cbrt.f64 (pow.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t)) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(expm1.f64 (log1p.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(exp.f64 (log.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(log1p.f64 (expm1.f64 (*.f64 1/25000000000000000000000000000000 (*.f64 t t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 t 1/5000000000000000)
0.4b
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
Compiler

Compiled 13 to 9 computations (30.8% saved)

series0.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
t
@0
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
0.0ms
t
@inf
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
0.0ms
t
@-inf
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))

rewrite79.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1122×add-sqr-sqrt
1102×*-un-lft-identity
1046×pow1
1030×add-cube-cbrt
1020×add-cbrt-cube
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
112513
2146413
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (*.f64 1/25000000000000000000000000000000 t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))))))

simplify49.0ms (1.2%)

Algorithm
egg-herbie
Rules
896×associate-*r/
836×associate-*l/
774×distribute-lft-out
726×distribute-rgt-in
726×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037299
192299
2305299
31288299
45038299
Stop Event
node limit
Counts
23 → 13
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(-.f64 (+.f64 1 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))) 1)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 1)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 2) 3)
(pow.f64 (pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 1/25000000000000000000000000000000 t)))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))
(exp.f64 (log.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(-.f64 (+.f64 1 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 t 1/5000000000000000)) 2) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(sqrt.f64 (pow.f64 (*.f64 t 1/5000000000000000) 4))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 1/25000000000000000000000000000000 t)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t)) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(exp.f64 (log.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 1/25000000000000000000000000000000 t))))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 t 1/5000000000000000)
0.3b
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
0.3b
(*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000)
Compiler

Compiled 18 to 13 computations (27.8% saved)

series0.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
t
@0
(*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000)
0.0ms
t
@inf
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
0.0ms
t
@-inf
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
0.0ms
t
@inf
(*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000)
0.0ms
t
@0
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)

rewrite127.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1254×add-sqr-sqrt
1236×*-un-lft-identity
1150×add-cube-cbrt
1136×add-cbrt-cube
1124×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
114220
2164220
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))))

simplify92.0ms (2.3%)

Algorithm
egg-herbie
Rules
1758×log-prod
1738×associate-+r+
1566×associate-+l+
1498×associate-*l*
542×unswap-sqr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059460
1143460
2563460
32949460
Stop Event
node limit
Counts
46 → 25
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(-.f64 (+.f64 1 (*.f64 t 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 2))
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
Outputs
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 t)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(-.f64 (+.f64 1 (*.f64 t 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (*.f64 t 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3)
(*.f64 1/25000000000000000000000000000000 t)
(pow.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 t)
(sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(log.f64 (pow.f64 (exp.f64 t) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 t)
(cbrt.f64 (pow.f64 (*.f64 t 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 t)
(expm1.f64 (log1p.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(exp.f64 (log.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(log1p.f64 (expm1.f64 (*.f64 t 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 t)
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 t 1/5000000000000000)
0.2b
(*.f64 (*.f64 t 1/5000000000000000) t)
0.3b
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
Compiler

Compiled 18 to 12 computations (33.3% saved)

series1.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
t
@inf
(*.f64 (*.f64 t 1/5000000000000000) t)
0.0ms
t
@0
(*.f64 (*.f64 t 1/5000000000000000) t)
0.0ms
t
@0
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
0.0ms
t
@inf
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
0.0ms
t
@-inf
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)

rewrite78.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
1248×add-sqr-sqrt
1230×*-un-lft-identity
1144×add-cube-cbrt
1130×add-cbrt-cube
1118×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0732
114126
2162926
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
(*.f64 (*.f64 t 1/5000000000000000) t)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t 1/5000000000000000) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 t (*.f64 t 1/5000000000000000))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/5000000000000000))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/5000000000000000))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/5000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/5000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 t (*.f64 t 1/5000000000000000))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/5000000000000000))))))))

simplify64.0ms (1.6%)

Algorithm
egg-herbie
Rules
1092×distribute-lft-in
1086×distribute-rgt-in
1028×associate-+r+
970×associate-+l+
860×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057598
1145598
2604598
32025598
Stop Event
node limit
Counts
46 → 27
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 2))
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(-.f64 (+.f64 1 (*.f64 t (*.f64 t 1/5000000000000000))) 1)
(pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 1)
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/5000000000000000))) 2)
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/5000000000000000))) 3)
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 2))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/5000000000000000)))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 3))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/5000000000000000))))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/5000000000000000))))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/5000000000000000))))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(-.f64 (+.f64 1 (*.f64 t (*.f64 t 1/5000000000000000))) 1)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 1)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (sqrt.f64 (*.f64 t (*.f64 t 1/5000000000000000))) 2)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (cbrt.f64 (*.f64 t (*.f64 t 1/5000000000000000))) 3)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 3) 1/3)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(sqrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(log.f64 (pow.f64 (exp.f64 t) (*.f64 t 1/5000000000000000)))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(cbrt.f64 (pow.f64 (*.f64 t (*.f64 t 1/5000000000000000)) 3))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(expm1.f64 (log1p.f64 (*.f64 t (*.f64 t 1/5000000000000000))))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(exp.f64 (log.f64 (*.f64 t (*.f64 t 1/5000000000000000))))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(log1p.f64 (expm1.f64 (*.f64 t (*.f64 t 1/5000000000000000))))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))

eval32.0ms (0.8%)

Compiler

Compiled 1262 to 905 computations (28.3% saved)

prune18.0ms (0.5%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New1531154
Fresh000
Picked101
Done055
Total1546160
Error
0b
Counts
160 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
0.5b
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
0.5b
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
0.6b
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
0.4b
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
0.4b
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Compiler

Compiled 44 to 32 computations (27.3% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 1/5000000000000000 (*.f64 t t))
0.3b
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
Compiler

Compiled 18 to 9 computations (50% saved)

series0.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
t
@0
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
0.0ms
t
@inf
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
0.0ms
t
@-inf
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
0.0ms
t
@0
(*.f64 1/5000000000000000 (*.f64 t t))
0.0ms
t
@inf
(*.f64 1/5000000000000000 (*.f64 t t))

rewrite66.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1268×add-sqr-sqrt
1248×*-un-lft-identity
1162×add-cube-cbrt
1152×add-cbrt-cube
1140×add-exp-log
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0732
114226
2165726
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
(*.f64 1/5000000000000000 (*.f64 t t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (*.f64 1/25000000000000000000000000000000 (pow.f64 t 4)) 1/25000000000000000000000000000000))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/5000000000000000 (*.f64 t t))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 t (sqrt.f64 1/5000000000000000)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/5000000000000000 (*.f64 t t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/25000000000000000000000000000000 (pow.f64 t 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/5000000000000000) (*.f64 t t)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/5000000000000000 (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/5000000000000000 (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/5000000000000000 (*.f64 t t))))))))

simplify52.0ms (1.3%)

Algorithm
egg-herbie
Rules
1460×associate-*r*
1268×associate-*l*
1168×associate-+r+
1122×associate-+l+
994×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060598
1148598
2608598
33813598
Stop Event
node limit
Counts
46 → 28
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 1/25000000000000000000000000000000 (pow.f64 t 4)) 1/25000000000000000000000000000000))
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(-.f64 (+.f64 1 (*.f64 1/5000000000000000 (*.f64 t t))) 1)
(pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1)
(pow.f64 (*.f64 t (sqrt.f64 1/5000000000000000)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/5000000000000000 (*.f64 t t))) 3)
(pow.f64 (pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 3) 1/3)
(sqrt.f64 (*.f64 1/25000000000000000000000000000000 (pow.f64 t 4)))
(log.f64 (pow.f64 (exp.f64 1/5000000000000000) (*.f64 t t)))
(cbrt.f64 (pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/5000000000000000 (*.f64 t t))))
(exp.f64 (log.f64 (*.f64 1/5000000000000000 (*.f64 t t))))
(log1p.f64 (expm1.f64 (*.f64 1/5000000000000000 (*.f64 t t))))
Outputs
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/25000000000000000000000000000000 (pow.f64 t 2))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(*.f64 1/5000000000000000 (pow.f64 t 2))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(-.f64 (+.f64 1 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 1)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 2)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)) 3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(pow.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3) 1/3)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(sqrt.f64 (*.f64 (*.f64 1/25000000000000000000000000000000 (pow.f64 t 4)) 1/25000000000000000000000000000000))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(log.f64 (exp.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000) 3))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(exp.f64 (log.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 t t) 1/25000000000000000000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 1/25000000000000000000000000000000 t))
(-.f64 (+.f64 1 (*.f64 1/5000000000000000 (*.f64 t t))) 1)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (*.f64 t (sqrt.f64 1/5000000000000000)) 2)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (cbrt.f64 (*.f64 1/5000000000000000 (*.f64 t t))) 3)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(pow.f64 (pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 3) 1/3)
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(sqrt.f64 (*.f64 1/25000000000000000000000000000000 (pow.f64 t 4)))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(log.f64 (pow.f64 (exp.f64 1/5000000000000000) (*.f64 t t)))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(cbrt.f64 (pow.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 3))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(expm1.f64 (log1p.f64 (*.f64 1/5000000000000000 (*.f64 t t))))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(exp.f64 (log.f64 (*.f64 1/5000000000000000 (*.f64 t t))))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))
(log1p.f64 (expm1.f64 (*.f64 1/5000000000000000 (*.f64 t t))))
(*.f64 1/5000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/5000000000000000))

eval5.0ms (0.1%)

Compiler

Compiled 225 to 154 computations (31.6% saved)

prune9.0ms (0.2%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New28028
Fresh000
Picked011
Done055
Total28634
Error
0b
Counts
34 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
0.5b
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
0.5b
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
0.6b
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
0.4b
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
0.4b
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Compiler

Compiled 44 to 32 computations (27.3% saved)

regimes22.0ms (0.5%)

Counts
12 → 1
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
(*.f64 t (pow.f64 (cbrt.f64 (*.f64 t 1/25000000000000000000000000000000)) 3))
(*.f64 t (pow.f64 (*.f64 (sqrt.f64 t) 1/5000000000000000) 2))
Outputs
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
Calls

3 calls:

10.0ms
t
7.0ms
(*.f64 t 1/5000000000000000)
2.0ms
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
Results
ErrorSegmentsBranch
0.3b1t
0.3b1(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
0.3b1(*.f64 t 1/5000000000000000)
Compiler

Compiled 120 to 88 computations (26.7% saved)

regimes27.0ms (0.7%)

Counts
9 → 1
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) t) 1/5000000000000000)
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
(pow.f64 (*.f64 t 1/5000000000000000) 2)
(*.f64 t (*.f64 (pow.f64 1/625000000000000000000000000000000000000000000000000000000000000 1/2) t))
Outputs
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
Calls

3 calls:

14.0ms
(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
6.0ms
(*.f64 t 1/5000000000000000)
5.0ms
t
Results
ErrorSegmentsBranch
0.4b1t
0.4b1(+.f64 (*.f64 (+.f64 1 (*.f64 t 1/5000000000000000)) (+.f64 1 (*.f64 t 1/5000000000000000))) (-.f64 -1 (*.f64 2 (*.f64 t 1/5000000000000000))))
0.4b1(*.f64 t 1/5000000000000000)
Compiler

Compiled 96 to 72 computations (25% saved)

regimes8.0ms (0.2%)

Accuracy

Total -0.5b remaining (-132.1%)

Threshold costs -0.5b (-132.1%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 t (*.f64 t 1/25000000000000000000000000000000))
(*.f64 (*.f64 1/5000000000000000 (*.f64 t t)) 1/5000000000000000)
(*.f64 (*.f64 t 1/5000000000000000) (*.f64 t 1/5000000000000000))
Outputs
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Calls

2 calls:

4.0ms
(*.f64 t 1/5000000000000000)
4.0ms
t
Results
ErrorSegmentsBranch
0.4b1t
0.4b1(*.f64 t 1/5000000000000000)
Compiler

Compiled 31 to 20 computations (35.5% saved)

simplify40.0ms (1%)

Algorithm
egg-herbie
Rules
12×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01555
12155
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
Outputs
(*.f64 t (sqrt.f64 (*.f64 (*.f64 t t) 1/625000000000000000000000000000000000000000000000000000000000000)))
(*.f64 (*.f64 (*.f64 t 1/5000000000000000) 1/5000000000000000) t)
(*.f64 t (*.f64 1/5000000000000000 (*.f64 t 1/5000000000000000)))
(*.f64 1/25000000000000000000000000000000 (*.f64 t t))
(*.f64 (*.f64 t t) 1/25000000000000000000000000000000)
Compiler

Compiled 23 to 16 computations (30.4% saved)

soundness206.0ms (5.2%)

Algorithm
egg-herbie
Rules
1516×fma-def
1130×*-commutative
1084×distribute-lft-neg-in
1004×+-commutative
800×distribute-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01351
13837
211333
337529
4121413
5365213
6558313
7735313
Stop Event
node limit
Compiler

Compiled 277 to 231 computations (16.6% saved)

end99.0ms (2.5%)

Compiler

Compiled 21 to 13 computations (38.1% saved)

Profiling

Loading profile data...