Details

Time bar (total: 4.8s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 17 to 12 computations (29.4% saved)

sample1.3s (28.3%)

Results
1.3s8256×body128valid
Compiler

Compiled 44 to 31 computations (29.5% saved)

simplify68.0ms (1.4%)

Algorithm
egg-herbie
Rules
726×fma-def_binary64
558×associate-/l/_binary64
413×pow-sqr_binary64
387×sqr-pow_binary64
328×unswap-sqr_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
11414
22414
34714
410514
524114
658714
792714
8221514
9246714
10294814
11378314
12483814
13485014

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
3.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
3.5b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
Compiler

Compiled 30 to 21 computations (30% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 10 (*.f64 x x))
0.3b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
3.3b
(exp.f64 (*.f64 10 (*.f64 x x)))

series11.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

6.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
3.0ms
(exp.f64 (*.f64 10 (*.f64 x x)))
2.0ms
(*.f64 10 (*.f64 x x))

rewrite19.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
10×add-cbrt-cube_binary64
10×pow1_binary64
add-sqr-sqrt_binary64
add-exp-log_binary64
associate-*l*_binary64
Counts
3 → 53
Calls

3 calls:

11.0ms
(*.f64 10 (*.f64 x x))
4.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))
1.0ms
(exp.f64 (*.f64 10 (*.f64 x x)))

simplify75.0ms (1.6%)

Algorithm
egg-herbie
Rules
656×fma-def_binary64
465×distribute-rgt-out_binary64
380×*-commutative_binary64
335×associate-*l*_binary64
261×distribute-rgt-in_binary64
Counts
89 → 84
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01001095
1200994
2517978
31269978
42408968
53982968
65006968

prune63.0ms (1.3%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New711384
Fresh000
Picked101
Done000
Total721385
Error
2.0b
Counts
85 → 13
Alt Table
StatusErrorProgram
3.1b
(*.f64 (*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 x x)) 5)) (sqrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))))
3.6b
(*.f64 (cos.f64 x) (*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))) (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x))))) (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x))))))
3.6b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 (*.f64 10 x) x)))
3.6b
(*.f64 (*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))) (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))))) (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))))
3.5b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
3.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (exp.f64 (*.f64 10 (*.f64 x x)))))
2.9b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 10) (*.f64 x x)))
2.9b
(*.f64 (cos.f64 x) (*.f64 (pow.f64 (exp.f64 (*.f64 x x)) 5) (pow.f64 (exp.f64 (*.f64 x x)) 5)))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))
4.6b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 (*.f64 (sqrt.f64 10) x) (*.f64 (sqrt.f64 10) x))))
4.0b
(*.f64 (cos.f64 x) (exp.f64 (cbrt.f64 (*.f64 (pow.f64 x 6) 1000))))
3.5b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
3.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x)))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))))
Compiler

Compiled 1713 to 996 computations (41.9% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))
0.5b
(cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))
0.9b
(exp.f64 (*.f64 x x))
2.7b
(pow.f64 (exp.f64 (*.f64 x x)) 30)

series97.0ms (2%)

Counts
4 → 48
Calls

4 calls:

43.0ms
(pow.f64 (exp.f64 (*.f64 x x)) 30)
27.0ms
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))
25.0ms
(cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))
2.0ms
(exp.f64 (*.f64 x x))

rewrite14.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
17×cbrt-prod_binary64
12×*-un-lft-identity_binary64
12×add-cube-cbrt_binary64
10×associate-*r*_binary64
Counts
4 → 80
Calls

4 calls:

6.0ms
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))
2.0ms
(pow.f64 (exp.f64 (*.f64 x x)) 30)
2.0ms
(cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))
1.0ms
(exp.f64 (*.f64 x x))

simplify158.0ms (3.3%)

Algorithm
egg-herbie
Rules
471×associate-+l+_binary64
451×*-commutative_binary64
412×distribute-rgt-out_binary64
389×distribute-lft-out_binary64
337×associate-+r+_binary64
Counts
128 → 128
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01411847
12791746
27081706
317791706
437161676
549061676
648821676

prune165.0ms (3.5%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New10523128
Fresh4812
Picked101
Done000
Total11031141
Error
0.8b
Counts
141 → 31
Alt Table
StatusErrorProgram
3.0b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))) (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))) (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
3.8b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30) 1/3))
2.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))) (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))) (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) (sqrt.f64 (exp.f64 (*.f64 x x)))) 30)))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 3)) 30)))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 30))))
2.9b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))) (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (exp.f64 (*.f64 x x)) (exp.f64 (*.f64 x x))) (exp.f64 (*.f64 x x)))) 30)))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 30)) (sqrt.f64 30))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) 30) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) 30))))
3.1b
(*.f64 (*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 x x)) 5)) (sqrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))))
3.6b
(*.f64 (cos.f64 x) (*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))) (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x))))) (cbrt.f64 (exp.f64 (*.f64 10 (*.f64 x x))))))
2.9b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
3.9b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 30))))
3.0b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) 30))) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) 30)))
3.6b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 (*.f64 10 x) x)))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
3.3b
(*.f64 (cos.f64 x) (cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
3.5b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
3.9b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30))) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 30)))
3.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (exp.f64 (*.f64 10 (*.f64 x x)))))
2.9b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 10) (*.f64 x x)))
3.0b
(*.f64 (*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))
3.5b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (expm1.f64 (log1p.f64 (exp.f64 (*.f64 x x)))) 30)))
3.0b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))
2.9b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) 30)) (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 x x))) 30))))
2.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (pow.f64 (exp.f64 (*.f64 x x)) 30)))
3.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x)))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))))
3.9b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30)))
3.9b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30)) (cbrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 30))))
3.5b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
Compiler

Compiled 3368 to 1851 computations (45% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
0.5b
(pow.f64 (exp.f64 x) x)
0.5b
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))
2.7b
(pow.f64 (pow.f64 (exp.f64 x) x) 30)

series160.0ms (3.4%)

Counts
4 → 48
Calls

4 calls:

88.0ms
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
42.0ms
(pow.f64 (pow.f64 (exp.f64 x) x) 30)
27.0ms
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))
2.0ms
(pow.f64 (exp.f64 x) x)

rewrite23.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
37×unpow-prod-down_binary64
28×add-sqr-sqrt_binary64
27×cbrt-prod_binary64
18×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
Counts
4 → 104
Calls

4 calls:

8.0ms
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
4.0ms
(pow.f64 (pow.f64 (exp.f64 x) x) 30)
3.0ms
(cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))
2.0ms
(pow.f64 (exp.f64 x) x)

simplify85.0ms (1.8%)

Algorithm
egg-herbie
Rules
461×distribute-rgt-in_binary64
449×distribute-lft-in_binary64
389×associate-*l*_binary64
372×unswap-sqr_binary64
321×associate-*r*_binary64
Counts
152 → 188
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01772285
13512187
28752147
321242145
450542145

prune167.0ms (3.5%)

Pruning

38 alts after pruning (37 fresh and 1 done)

PrunedKeptTotal
New16523188
Fresh161430
Picked011
Done000
Total18138219
Error
0.4b
Counts
219 → 38
Alt Table
StatusErrorProgram
3.8b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30) 1/3))
2.4b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) (/.f64 x 2)) 30) (pow.f64 (pow.f64 (exp.f64 x) (/.f64 x 2)) 30))))
2.4b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.4b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 x) (/.f64 x 2)) (pow.f64 (exp.f64 x) (/.f64 x 2))) 30)))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 30))))
2.2b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 30)) (sqrt.f64 30))))
2.7b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) 30))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) (/.f64 x 2)) 30)))
3.1b
(*.f64 (*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 x x)) 5)) (sqrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))))
2.4b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) 30))) (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) 30)))
2.9b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
3.9b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 30))))
3.6b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 30)))
3.6b
(*.f64 (cos.f64 x) (exp.f64 (*.f64 (*.f64 10 x) x)))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
3.5b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))))
3.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (exp.f64 (*.f64 10 (*.f64 x x)))))
4.5b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 x)) (cbrt.f64 (exp.f64 x))) x) 30))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) x) 30)))
2.9b
(*.f64 (cos.f64 x) (pow.f64 (exp.f64 10) (*.f64 x x)))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (expm1.f64 (log1p.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))))
2.2b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))) (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.5b
(*.f64 (*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
3.4b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) 30)))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))))
3.0b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))
2.3b
(*.f64 (*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.3b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))))
2.3b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (exp.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))))
3.5b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
2.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
2.2b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))))
3.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x)))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))))
2.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))) (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))) (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))))
2.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (pow.f64 (exp.f64 (*.f64 x x)) 30)))
2.5b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 30)) (sqrt.f64 30))))
2.4b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) 30)) (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) 30))))
Compiler

Compiled 4737 to 2598 computations (45.2% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (exp.f64 x) x)
0.5b
(*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))
0.5b
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))))
1.9b
(pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))

series104.0ms (2.2%)

Counts
3 → 36
Calls

3 calls:

43.0ms
(*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))
35.0ms
(pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))
26.0ms
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))))

rewrite34.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
90×unpow-prod-down_binary64
54×add-sqr-sqrt_binary64
44×pow-exp_binary64
30×sqr-pow_binary64
25×unswap-sqr_binary64
Counts
3 → 144
Calls

3 calls:

12.0ms
(*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))
6.0ms
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))))
4.0ms
(pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))

simplify206.0ms (4.3%)

Algorithm
egg-herbie
Rules
636×fma-def_binary64
598×unswap-sqr_binary64
303×*-commutative_binary64
231×associate-/l/_binary64
228×sqr-pow_binary64
Counts
180 → 219
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02082950
13722804
211572710
320802697
445782667
547062667
649602667
749942667
848942667

prune365.0ms (7.7%)

Pruning

45 alts after pruning (44 fresh and 1 done)

PrunedKeptTotal
New34022362
Fresh142236
Picked101
Done011
Total35545400
Error
0.2b
Counts
400 → 45
Alt Table
StatusErrorProgram
2.3b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (cbrt.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (exp.f64 x) x)) (pow.f64 (exp.f64 x) x))) (/.f64 30 2)))))
3.8b
(*.f64 (cos.f64 x) (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30) 1/3))
2.3b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2)) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))) (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2)) (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))))))
2.7b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (pow.f64 x 3/2)) (/.f64 30 2)))))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 x) (*.f64 x 30))))
2.7b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (/.f64 30 2)) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2))) (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (/.f64 30 2)) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2))))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (*.f64 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (cbrt.f64 (pow.f64 (exp.f64 x) x))) (/.f64 30 2)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2))))))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (exp.f64 x) x)) (/.f64 30 2))))
3.1b
(*.f64 (*.f64 (cos.f64 x) (pow.f64 (exp.f64 (*.f64 x x)) 5)) (sqrt.f64 (exp.f64 (*.f64 10 (*.f64 x x)))))
2.4b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) 30))) (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) 30)))
2.4b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) 15)))))
2.9b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
3.6b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (cbrt.f64 (exp.f64 (*.f64 x x)))) 30))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 30)))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
3.5b
(*.f64 (cos.f64 x) (expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 (sqrt.f64 30) 1)) (/.f64 (sqrt.f64 30) 2)))))
3.5b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (exp.f64 (*.f64 10 (*.f64 x x)))))
4.5b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 x)) (cbrt.f64 (exp.f64 x))) x) 30))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) x) 30)))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15/2) (pow.f64 (exp.f64 (*.f64 x x)) 15/2)))))
2.5b
(*.f64 (*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))) (cbrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.2b
(*.f64 (*.f64 (cos.f64 x) (sqrt.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)))) (sqrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15) 3)))))
2.3b
(*.f64 (*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
3.0b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (cos.f64 x))) (*.f64 (cbrt.f64 (cos.f64 x)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))
2.7b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15)) 5) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))))))
2.7b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (/.f64 30 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) 15)))))
2.3b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 (*.f64 (cbrt.f64 30) (cbrt.f64 30)) (sqrt.f64 2))) (/.f64 (cbrt.f64 30) (sqrt.f64 2))))))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (exp.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))))
3.5b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (*.f64 (*.f64 (exp.f64 (*.f64 10 (*.f64 x x))) (exp.f64 (*.f64 10 (*.f64 x x)))) (exp.f64 (*.f64 10 (*.f64 x x))))))
2.2b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (pow.f64 (pow.f64 (exp.f64 x) x) 30)))
2.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2))) (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (/.f64 30 2)))))
3.7b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (cbrt.f64 (exp.f64 x)) (cbrt.f64 (exp.f64 x))) x) (/.f64 30 2)) (*.f64 (pow.f64 (exp.f64 (*.f64 x x)) 15) (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) x) 15)))))
3.0b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 15)) (sqrt.f64 (/.f64 30 2))))))
2.2b
(*.f64 (cos.f64 x) (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)))))
3.2b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (pow.f64 (exp.f64 x) (sqrt.f64 x)) (sqrt.f64 x)) (/.f64 30 2)))))
2.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 x) (cos.f64 x)) (cos.f64 x)) (pow.f64 (exp.f64 (*.f64 x x)) 30)))
2.6b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (exp.f64 (*.f64 15 (*.f64 x x))))))
3.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x)))))) (cbrt.f64 (*.f64 (cos.f64 x) (exp.f64 (*.f64 10 (*.f64 x x))))))
2.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))) (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))) (cbrt.f64 (*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30)))))
3.1b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (/.f64 30 2))) (sqrt.f64 (/.f64 30 2))))))
2.5b
(*.f64 (cos.f64 x) (cbrt.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 30)) (sqrt.f64 30))))
2.4b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (exp.f64 x) (*.f64 15 x)))))
2.4b
(*.f64 (*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30)) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 x x)) 30))))) (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 30))))
2.9b
(*.f64 (cos.f64 x) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 x) x) (/.f64 30 2)) (pow.f64 (pow.f64 (exp.f64 1) (*.f64 x x)) (/.f64 30 2)))))
Compiler

Compiled 11008 to 6276 computations (43% saved)

regimes713.0ms (15%)

Accuracy

Total 1.9b remaining (86%)

Threshold costs 0b (0%)

Counts
258 → 1
Compiler

Compiled 11560 to 7959 computations (31.2% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
11440
21440

end836.0ms (17.6%)

Compiler

Compiled 1174 to 787 computations (33% saved)

Profiling

Loading profile data...