Details

Time bar (total: 14.6s)

analyze1.5s (10.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
49.9%49.9%0.3%8
49.9%49.9%0.3%9
49.9%49.9%0.3%10
49.9%49.9%0.3%11
49.9%49.9%0.3%12
49.9%49.9%0.3%13
74.8%24.9%0.3%14
Compiler

Compiled 34 to 27 computations (20.6% saved)

sample7.9s (54.3%)

Results
3.7s2415×body2048valid
1.9s1985×body1024valid
1.0s339×body4096valid
581.0ms949×body512valid
478.0ms2119×body128valid
194.0ms449×body256valid
Compiler

Compiled 101 to 80 computations (20.8% saved)

simplify38.0ms (0.3%)

Algorithm
egg-herbie
Rules
442×fma-def_binary64
259×associate-/l*_binary64
218×*-commutative_binary64
216×distribute-lft-in_binary64
212×associate-/r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
02437
14737
210337
320037
444137
564037
682535
7109335
8115531
9123831
10127031
11127031
12125431

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
46.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.4b
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y 2) 1) z) t) 16))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a 2) 1) b) t) 16)))
Compiler

Compiled 174 to 132 computations (24.1% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
3.3b
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
34.6b
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))
36.1b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

series97.0ms (0.7%)

Counts
4 → 144
Calls

4 calls:

33.0ms
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))
33.0ms
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))
18.0ms
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
12.0ms
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
14×add-cbrt-cube_binary64
14×add-exp-log_binary64
14×pow1_binary64
fma-udef_binary64
associate-*r*_binary64
Counts
4 → 66
Calls

4 calls:

4.0ms
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
4.0ms
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
2.0ms
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))
2.0ms
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

simplify105.0ms (0.7%)

Algorithm
egg-herbie
Rules
697×associate-*r*_binary64
593×associate-*l*_binary64
426×unswap-sqr_binary64
340×*-commutative_binary64
277×fma-def_binary64
Counts
210 → 148
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03635086
19974318
241074270
353134270

prune341.0ms (2.3%)

Pruning

32 alts after pruning (32 fresh and 0 done)

PrunedKeptTotal
New11632148
Fresh101
Picked101
Done000
Total11832150
Error
42.6b
Counts
150 → 32
Alt Table
StatusErrorProgram
47.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (*.f64 (cbrt.f64 (fma.f64 y 1/8 1/16)) (cbrt.f64 (fma.f64 y 1/8 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (cos.f64 (*.f64 1/16 (*.f64 z t)))) (*.f64 (sin.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (sin.f64 (*.f64 1/16 (*.f64 z t)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
51.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (log1p.f64 (expm1.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
49.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (sqrt.f64 (fma.f64 a 1/8 1/16))) (sqrt.f64 (fma.f64 a 1/8 1/16)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 a 1/8 1/16)) (cbrt.f64 (fma.f64 a 1/8 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
47.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 (sqrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1)
52.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) 3)))
48.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))
61.4b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 z) (log.f64 t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t b))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))))
53.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 a 1/8) (*.f64 t b))) (cos.f64 (*.f64 1/16 (*.f64 t b)))) (*.f64 (sin.f64 (*.f64 (*.f64 a 1/8) (*.f64 t b))) (sin.f64 (*.f64 1/16 (*.f64 t b))))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
49.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (sqrt.f64 (fma.f64 y 1/8 1/16))) (sqrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
48.1b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
Compiler

Compiled 7749 to 5088 computations (34.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
2.2b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
28.9b
(cos.f64 (*.f64 1/16 (*.f64 t z)))
36.1b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

series152.0ms (1%)

Counts
2 → 68
Calls

2 calls:

146.0ms
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
6.0ms
(cos.f64 (*.f64 1/16 (*.f64 t z)))

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*r*_binary64
cbrt-unprod_binary64
Counts
2 → 29
Calls

2 calls:

5.0ms
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
1.0ms
(cos.f64 (*.f64 1/16 (*.f64 t z)))

simplify100.0ms (0.7%)

Algorithm
egg-herbie
Rules
886×associate-*r*_binary64
610×associate-*l*_binary64
432×fma-def_binary64
276×associate-+r+_binary64
275×fma-neg_binary64
Counts
97 → 83
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03514672
111314237
249244237
351474237

prune403.0ms (2.8%)

Pruning

44 alts after pruning (44 fresh and 0 done)

PrunedKeptTotal
New12926155
Fresh131831
Picked101
Done000
Total14344187
Error
40.6b
Counts
187 → 44
Alt Table
StatusErrorProgram
49.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (sqrt.f64 (fma.f64 y 1/8 1/16))) (sqrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (*.f64 a 1/8))) (cos.f64 (*.f64 (*.f64 t b) 1/16))) (*.f64 (sin.f64 (*.f64 (*.f64 t b) (*.f64 a 1/8))) (sin.f64 (*.f64 (*.f64 t b) 1/16)))))
47.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (*.f64 (cbrt.f64 (fma.f64 y 1/8 1/16)) (cbrt.f64 (fma.f64 y 1/8 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (cos.f64 (*.f64 1/16 (*.f64 z t)))) (*.f64 (sin.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (sin.f64 (*.f64 1/16 (*.f64 z t)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
51.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (log1p.f64 (expm1.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
47.6b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (sqrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1)
45.4b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
51.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.7b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b)))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b)))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
47.0b
(*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))
46.3b
(*.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
61.4b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 z) (log.f64 t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
46.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) (cbrt.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.6b
x
48.1b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
51.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
55.2b
(exp.f64 (log.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 a 1/8 1/16)) (cbrt.f64 (fma.f64 a 1/8 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
62.6b
(log.f64 (exp.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
56.4b
(exp.f64 (+.f64 (+.f64 (log.f64 x) (log.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) (log.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
51.4b
(expm1.f64 (log1p.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.5b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t b))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))))
46.3b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
48.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (sqrt.f64 (fma.f64 a 1/8 1/16))) (sqrt.f64 (fma.f64 a 1/8 1/16)))))
Compiler

Compiled 9942 to 6508 computations (34.5% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)
28.9b
(cos.f64 (*.f64 1/16 (*.f64 t z)))

series16.0ms (0.1%)

Counts
1 → 8
Calls

1 calls:

16.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
associate-*r*_binary64
associate-*l*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
1 → 20
Calls

1 calls:

3.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)

simplify69.0ms (0.5%)

Algorithm
egg-herbie
Rules
733×fma-def_binary64
638×cancel-sign-sub-inv_binary64
381×sub-neg_binary64
377×fma-neg_binary64
338×associate-*l*_binary64
Counts
28 → 37
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
064560
1152510
2443500
31483486
43851484
54545466
65008466

prune156.0ms (1.1%)

Pruning

47 alts after pruning (47 fresh and 0 done)

PrunedKeptTotal
New45954
Fresh53843
Picked101
Done000
Total514798
Error
40.6b
Counts
98 → 47
Alt Table
StatusErrorProgram
49.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (sqrt.f64 (fma.f64 y 1/8 1/16))) (sqrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.4b
(*.f64 (expm1.f64 (log1p.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) x)
50.6b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (*.f64 a 1/8))) (cos.f64 (*.f64 (*.f64 t b) 1/16))) (*.f64 (sin.f64 (*.f64 (*.f64 t b) (*.f64 a 1/8))) (sin.f64 (*.f64 (*.f64 t b) 1/16)))))
47.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (*.f64 (cbrt.f64 (fma.f64 y 1/8 1/16)) (cbrt.f64 (fma.f64 y 1/8 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (cos.f64 (*.f64 1/16 (*.f64 z t)))) (*.f64 (sin.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (sin.f64 (*.f64 1/16 (*.f64 z t)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
51.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.4b
(*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) x)
47.0b
(*.f64 (*.f64 x (log1p.f64 (expm1.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
47.6b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (sqrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1)
45.7b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
51.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.7b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b)))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b)))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
47.0b
(*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.4b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))) x))
47.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))
46.3b
(*.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
61.4b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 z) (log.f64 t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
45.6b
x
48.1b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)) (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x))) (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
51.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
55.2b
(exp.f64 (log.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 a 1/8 1/16)) (cbrt.f64 (fma.f64 a 1/8 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
57.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)) (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
48.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (sqrt.f64 (fma.f64 a 1/8 1/16))) (sqrt.f64 (fma.f64 a 1/8 1/16)))))
62.2b
(log.f64 (exp.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
45.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
46.5b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
55.8b
(exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))) (log.f64 x)))
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t b))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))))
Compiler

Compiled 3830 to 2690 computations (29.8% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))
0.1b
(*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) x)
0.4b
(log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))))
28.9b
(cos.f64 (*.f64 1/16 (*.f64 t z)))

series32.0ms (0.2%)

Counts
3 → 68
Calls

3 calls:

16.0ms
(*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) x)
9.0ms
(exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))
6.0ms
(log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))))

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
exp-prod_binary64
add-cube-cbrt_binary64
log-pow_binary64
Counts
3 → 54
Calls

3 calls:

3.0ms
(*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) x)
2.0ms
(exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))
2.0ms
(log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))))

simplify98.0ms (0.7%)

Algorithm
egg-herbie
Rules
636×associate-*l*_binary64
624×distribute-rgt-neg-in_binary64
586×distribute-lft-neg-in_binary64
583×associate-*r*_binary64
358×neg-mul-1_binary64
Counts
122 → 104
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01201971
12651853
27791813
329841803
448861797
551811797

prune240.0ms (1.6%)

Pruning

47 alts after pruning (47 fresh and 0 done)

PrunedKeptTotal
New1183121
Fresh24446
Picked101
Done000
Total12147168
Error
40.6b
Counts
168 → 47
Alt Table
StatusErrorProgram
49.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (sqrt.f64 (fma.f64 y 1/8 1/16))) (sqrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
50.6b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (*.f64 a 1/8))) (cos.f64 (*.f64 (*.f64 t b) 1/16))) (*.f64 (sin.f64 (*.f64 (*.f64 t b) (*.f64 a 1/8))) (sin.f64 (*.f64 (*.f64 t b) 1/16)))))
47.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 z t) (*.f64 (cbrt.f64 (fma.f64 y 1/8 1/16)) (cbrt.f64 (fma.f64 y 1/8 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (cos.f64 (*.f64 1/16 (*.f64 z t)))) (*.f64 (sin.f64 (*.f64 (*.f64 y 1/8) (*.f64 z t))) (sin.f64 (*.f64 1/16 (*.f64 z t)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
51.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (log1p.f64 (expm1.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))) (cbrt.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
47.6b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (sqrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1)
46.0b
(*.f64 (log.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))))) x)
45.4b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))))) (cbrt.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))))) (cbrt.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))))) x)
45.4b
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))) 3))) x)
45.7b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
51.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.7b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b)))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b)))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
47.0b
(*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)
46.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)) 3))))
46.3b
(*.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
61.4b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 z) (log.f64 t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b)))) (cbrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
45.6b
x
48.1b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)) (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x))) (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
51.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))) (sqrt.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
55.2b
(exp.f64 (log.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 a 1/8 1/16)) (cbrt.f64 (fma.f64 a 1/8 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
57.9b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)) (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
48.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (sqrt.f64 (fma.f64 a 1/8 1/16))) (sqrt.f64 (fma.f64 a 1/8 1/16)))))
62.2b
(log.f64 (exp.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)))
45.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (log1p.f64 (expm1.f64 (cos.f64 (*.f64 (fma.f64 a 1/8 1/16) (*.f64 t b))))))
46.5b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.0b
(*.f64 (*.f64 x (log.f64 (exp.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
55.8b
(exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 1/16 (*.f64 t z)))) (log.f64 x)))
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
46.7b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t b))) (sin.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))))
Compiler

Compiled 3657 to 2495 computations (31.8% saved)

regimes2.4s (16.7%)

Accuracy

Total 4.2b remaining (9.5%)

Threshold costs 0b (0%)

Counts
153 → 2
Compiler

Compiled 59955 to 44380 computations (26% saved)

bsearch6.0ms (0%)

Compiler

Compiled 33 to 26 computations (21.2% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
17×*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047110
168110
267110

end780.0ms (5.3%)

Compiler

Compiled 1667 to 1222 computations (26.7% saved)

Profiling

Loading profile data...