Details

Time bar (total: 13.3s)

analyze1.5s (11.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.6s (57.4%)

Results
3.6s2455×body2048valid
1.8s1946×body1024valid
898.0ms316×body4096valid
560.0ms940×body512valid
477.0ms2153×body128valid
189.0ms446×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
44.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
44.9b
(*.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))))
45.6b
(*.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)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.7b
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
3.6b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
33.3b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))
33.7b
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))

series104.0ms (0.8%)

Counts
4 → 144
Calls

4 calls:

41.0ms
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))
37.0ms
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))
13.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))

rewrite13.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.8%)

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 → 152
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03635086
19974318
241074270
353134270

prune349.0ms (2.6%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New12428152
Fresh101
Picked101
Done000
Total12628154
Error
40.8b
Counts
154 → 28
Alt Table
StatusErrorProgram
53.8b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 z t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.4b
(*.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))))))
45.8b
(*.f64 (*.f64 x (*.f64 (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (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))))
45.1b
(*.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)))))
44.6b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
45.2b
(*.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))))))
44.9b
(*.f64 (*.f64 x (log.f64 (exp.f64 (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))))
45.2b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
60.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
44.9b
(*.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))))
45.3b
(*.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.2b
(*.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))))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.9b
(*.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))))))
52.1b
(*.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))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.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))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (log.f64 (exp.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
52.2b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (log.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))))
60.8b
(*.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))))
44.9b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (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))))
45.6b
(*.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)))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
Compiler

Compiled 7617 to 4979 computations (34.6% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
3.6b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
33.3b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

series74.0ms (0.6%)

Counts
1 → 48
Calls

1 calls:

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

rewrite6.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-exp-log_binary64
add-cbrt-cube_binary64
pow1_binary64
prod-exp_binary64
associate-*r*_binary64
Counts
1 → 21
Calls

1 calls:

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

simplify77.0ms (0.6%)

Algorithm
egg-herbie
Rules
554×associate-+l+_binary64
394×cancel-sign-sub-inv_binary64
369×associate-*r*_binary64
255×associate-*l*_binary64
229×associate--r+_binary64
Counts
69 → 51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01742326
14781985
219561779
348081779
449911779

prune287.0ms (2.2%)

Pruning

40 alts after pruning (40 fresh and 0 done)

PrunedKeptTotal
New11017127
Fresh42327
Picked101
Done000
Total11540155
Error
38.9b
Counts
155 → 40
Alt Table
StatusErrorProgram
53.8b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 z t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.7b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 1/8 a 1/16)) (cbrt.f64 (fma.f64 1/8 a 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
44.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
44.7b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
57.2b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x) 3))
60.8b
(*.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))))
45.7b
(*.f64 (*.f64 x 1) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
45.8b
(*.f64 (*.f64 x (*.f64 (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (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))))
45.1b
(*.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)))))
54.1b
(exp.f64 (log.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.2b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
44.9b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (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))))
53.3b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
61.8b
(log.f64 (exp.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.2b
(*.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))))))
44.9b
(*.f64 (*.f64 x (log.f64 (exp.f64 (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))))
44.8b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))) (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b)))) (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
45.0b
(*.f64 (*.f64 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)))))
45.2b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
60.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
44.9b
(*.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))))
44.3b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
45.3b
(*.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.2b
(*.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))))))
44.8b
(*.f64 (*.f64 x 1) (-.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)))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.9b
x
52.1b
(*.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))))
53.6b
(*.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)) (sqrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.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))))
45.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
44.6b
(*.f64 (*.f64 x 1) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
52.2b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (log.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.6b
(*.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)))))
46.1b
(*.f64 (*.f64 x 1) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b)) 3))))
Compiler

Compiled 6279 to 4332 computations (31% saved)

localize1.0ms (0%)

prune57.0ms (0.4%)

Pruning

40 alts after pruning (39 fresh and 1 done)

PrunedKeptTotal
New000
Fresh03939
Picked011
Done000
Total04040
Error
38.9b
Counts
40 → 40
Alt Table
StatusErrorProgram
53.8b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 z t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.7b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 1/8 a 1/16)) (cbrt.f64 (fma.f64 1/8 a 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
44.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
44.7b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
57.2b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x) 3))
60.8b
(*.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))))
45.7b
(*.f64 (*.f64 x 1) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
45.8b
(*.f64 (*.f64 x (*.f64 (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (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))))
45.1b
(*.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)))))
54.1b
(exp.f64 (log.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.2b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
44.9b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (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))))
53.3b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
61.8b
(log.f64 (exp.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.2b
(*.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))))))
44.9b
(*.f64 (*.f64 x (log.f64 (exp.f64 (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))))
44.8b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))) (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b)))) (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
45.0b
(*.f64 (*.f64 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)))))
45.2b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
60.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
44.9b
(*.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))))
44.3b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
45.3b
(*.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.2b
(*.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))))))
44.8b
(*.f64 (*.f64 x 1) (-.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)))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.9b
x
52.1b
(*.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))))
53.6b
(*.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)) (sqrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.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))))
45.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
44.6b
(*.f64 (*.f64 x 1) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
52.2b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (log.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.6b
(*.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)))))
46.1b
(*.f64 (*.f64 x 1) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b)) 3))))
Compiler

Compiled 2579 to 1904 computations (26.2% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

series23.0ms (0.2%)

Counts
2 → 16
Calls

2 calls:

17.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
6.0ms
(cos.f64 (*.f64 1/16 (*.f64 t b)))

rewrite6.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
2 → 29
Calls

2 calls:

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

simplify62.0ms (0.5%)

Algorithm
egg-herbie
Rules
664×fma-neg_binary64
451×associate-*l*_binary64
414×distribute-rgt-neg-in_binary64
404×distribute-lft-neg-in_binary64
373×associate-*r*_binary64
Counts
45 → 54
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079876
1188799
2560775
31954765
44383765
55019765

prune114.0ms (0.9%)

Pruning

45 alts after pruning (44 fresh and 1 done)

PrunedKeptTotal
New46854
Fresh23638
Picked101
Done011
Total494594
Error
38.9b
Counts
94 → 45
Alt Table
StatusErrorProgram
53.8b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 z t)) (log.f64 (fma.f64 y 1/8 1/16)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.7b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 (*.f64 t b) (*.f64 (cbrt.f64 (fma.f64 1/8 a 1/16)) (cbrt.f64 (fma.f64 1/8 a 1/16)))) (cbrt.f64 (fma.f64 a 1/8 1/16)))))
44.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))) (cbrt.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
61.6b
(log.f64 (exp.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)))
44.7b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
57.2b
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x) 3))
60.8b
(*.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))))
45.7b
(*.f64 (*.f64 x 1) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
54.3b
(exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (log.f64 x)))
45.8b
(*.f64 (*.f64 x (*.f64 (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (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))))
45.1b
(*.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)))))
54.1b
(exp.f64 (log.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
47.8b
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)))
45.2b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
44.9b
(*.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (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))))
53.3b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
61.8b
(log.f64 (exp.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.2b
(*.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))))))
44.9b
(*.f64 (*.f64 x (log.f64 (exp.f64 (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))))
44.8b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))) (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b)))) (cbrt.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
53.1b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (sqrt.f64 x)) (sqrt.f64 x))
44.3b
(*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) x)
45.2b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (sin.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
44.6b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
60.6b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
44.9b
(*.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))))
44.3b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) x))
45.3b
(*.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.2b
(*.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))))))
44.8b
(*.f64 (*.f64 x 1) (-.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)))))
45.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 y 1/8 1/16))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.9b
x
47.4b
(*.f64 (fma.f64 (*.f64 (*.f64 t t) (*.f64 b b)) -1/512 1) x)
52.1b
(*.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 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.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))))
45.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 z (*.f64 y 1/8))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
44.6b
(*.f64 (*.f64 x 1) (cbrt.f64 (*.f64 (*.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
52.2b
(*.f64 (*.f64 x (cos.f64 (exp.f64 (log.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.6b
(*.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)))))
46.1b
(*.f64 (*.f64 x 1) (cos.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b)) 3))))
44.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16)))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
Compiler

Compiled 2229 to 1536 computations (31.1% saved)

regimes2.1s (15.9%)

Accuracy

Total 4.0b remaining (9.2%)

Threshold costs 0b (0%)

Counts
147 → 2
Compiler

Compiled 54830 to 40787 computations (25.6% saved)

bsearch6.0ms (0%)

Compiler

Compiled 33 to 26 computations (21.2% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
043110
162110
261110

end666.0ms (5%)

Compiler

Compiled 1519 to 1118 computations (26.4% saved)

Profiling

Loading profile data...