Details

Time bar (total: 13.3s)

analyze1.4s (10.9%)

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.5s2440×body2048valid
1.7s1924×body1024valid
980.0ms307×body4096valid
594.0ms990×body512valid
468.0ms2144×body128valid
194.0ms451×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
42.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
42.9b
(*.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)))
42.2b
(*.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))))
Compiler

Compiled 174 to 132 computations (24.1% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.4b
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
3.0b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
29.9b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))
31.4b
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))

series93.0ms (0.7%)

Counts
4 → 144
Calls

4 calls:

35.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)))
14.0ms
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
11.0ms
(*.f64 (*.f64 t b) (fma.f64 a 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:

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

simplify102.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

prune372.0ms (2.8%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New12230152
Fresh101
Picked101
Done000
Total12430154
Error
37.1b
Counts
154 → 30
Alt Table
StatusErrorProgram
51.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))))))
41.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))))
42.0b
(*.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))))
43.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))))))
42.2b
(*.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))))
42.2b
(*.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))))))
42.4b
(*.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))))
42.1b
(*.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))))
41.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
43.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))) 3)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.2b
(*.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))))))
42.2b
(*.f64 (*.f64 x (expm1.f64 (log1p.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))))
42.2b
(*.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))))))
42.4b
(*.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))))
53.6b
(*.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))))
42.5b
(*.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)))))))
41.4b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
60.9b
(*.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))))
42.3b
(*.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))))))
43.0b
(*.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))))
42.3b
(*.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)))))
41.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)))))
42.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (expm1.f64 (log1p.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
50.0b
(*.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))))))
42.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))))))
43.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
59.4b
(*.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))))))
42.7b
(*.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))))
42.0b
(*.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))))))
42.2b
(*.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))))
Compiler

Compiled 7723 to 5053 computations (34.6% saved)

localize10.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.0b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
29.9b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

series69.0ms (0.5%)

Counts
1 → 48
Calls

1 calls:

68.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))))

simplify79.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

prune329.0ms (2.5%)

Pruning

40 alts after pruning (40 fresh and 0 done)

PrunedKeptTotal
New10918127
Fresh72229
Picked101
Done000
Total11740157
Error
35.8b
Counts
157 → 40
Alt Table
StatusErrorProgram
43.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
42.7b
(*.f64 (*.f64 x 1) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
41.4b
(*.f64 (*.f64 x 1) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))) 3)))
41.6b
(*.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)))))
41.1b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
54.4b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 1) (*.f64 x 1)) (*.f64 x 1)) (*.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))))))
40.5b
x
42.0b
(*.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))))
42.2b
(*.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))))
42.7b
(*.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))))
41.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)))))
59.3b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
42.4b
(*.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))))
41.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)) (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x))) (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)))
46.5b
(expm1.f64 (log1p.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
42.1b
(*.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))))
51.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
41.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
43.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))) 3)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.2b
(*.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))))))
42.2b
(*.f64 (*.f64 x (expm1.f64 (log1p.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.6b
(*.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))))
42.5b
(*.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)))))))
49.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
43.1b
(*.f64 (*.f64 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)))))
43.0b
(*.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))))
42.3b
(*.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)))))
41.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)))))
41.4b
(*.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))))))
52.3b
(exp.f64 (+.f64 (+.f64 (log.f64 x) 0) (log.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
50.0b
(*.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))))))
42.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))))))
41.4b
(*.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)))))
42.0b
(*.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))))))
41.5b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
41.4b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
42.2b
(*.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))))
41.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))))
42.4b
(*.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))))
60.9b
(*.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))))
Compiler

Compiled 6293 to 4334 computations (31.1% saved)

localize0.0ms (0%)

prune60.0ms (0.4%)

Pruning

40 alts after pruning (39 fresh and 1 done)

PrunedKeptTotal
New000
Fresh03939
Picked011
Done000
Total04040
Error
35.8b
Counts
40 → 40
Alt Table
StatusErrorProgram
43.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
42.7b
(*.f64 (*.f64 x 1) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
41.4b
(*.f64 (*.f64 x 1) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))) 3)))
41.6b
(*.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)))))
41.1b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
54.4b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 1) (*.f64 x 1)) (*.f64 x 1)) (*.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))))))
40.5b
x
42.0b
(*.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))))
42.2b
(*.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))))
42.7b
(*.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))))
41.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)))))
59.3b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
42.4b
(*.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))))
41.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)) (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x))) (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)))
46.5b
(expm1.f64 (log1p.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
42.1b
(*.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))))
51.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
41.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
43.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))) 3)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.2b
(*.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))))))
42.2b
(*.f64 (*.f64 x (expm1.f64 (log1p.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.6b
(*.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))))
42.5b
(*.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)))))))
49.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
43.1b
(*.f64 (*.f64 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)))))
43.0b
(*.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))))
42.3b
(*.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)))))
41.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)))))
41.4b
(*.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))))))
52.3b
(exp.f64 (+.f64 (+.f64 (log.f64 x) 0) (log.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
50.0b
(*.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))))))
42.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))))))
41.4b
(*.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)))))
42.0b
(*.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))))))
41.5b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
41.4b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
42.2b
(*.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))))
41.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))))
42.4b
(*.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))))
60.9b
(*.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))))
Compiler

Compiled 2593 to 1906 computations (26.5% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series22.0ms (0.2%)

Counts
2 → 16
Calls

2 calls:

17.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
5.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:

4.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

prune136.0ms (1%)

Pruning

45 alts after pruning (44 fresh and 1 done)

PrunedKeptTotal
New46854
Fresh23638
Picked101
Done011
Total494594
Error
35.8b
Counts
94 → 45
Alt Table
StatusErrorProgram
43.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
42.7b
(*.f64 (*.f64 x 1) (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/8 a 1/16) (*.f64 t b))))))
41.6b
(*.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)))))
41.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))))
41.5b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x))
62.0b
(log.f64 (exp.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)))
54.4b
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 x 1) (*.f64 x 1)) (*.f64 x 1)) (*.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))))))
51.4b
(exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t b))))))
40.5b
x
42.0b
(*.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))))
42.2b
(*.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))))
52.1b
(exp.f64 (+.f64 (log.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (log.f64 x)))
42.7b
(*.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))))
41.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)))))
59.3b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (+.f64 (log.f64 t) (log.f64 b)) (log.f64 (fma.f64 a 1/8 1/16))))))
42.4b
(*.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))))
41.9b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)) (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x))) (cbrt.f64 (*.f64 (cos.f64 (*.f64 t (*.f64 (fma.f64 1/8 a 1/16) b))) x)))
46.5b
(expm1.f64 (log1p.f64 (*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
42.1b
(*.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))))
51.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (+.f64 (log.f64 (*.f64 t b)) (log.f64 (fma.f64 a 1/8 1/16))))))
41.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
41.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) x)
43.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 y 1/8 1/16))) 3)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
42.2b
(*.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))))))
42.2b
(*.f64 (*.f64 x (expm1.f64 (log1p.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.6b
(*.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))))
42.5b
(*.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)))))))
49.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
43.1b
(*.f64 (*.f64 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)))))
41.1b
(*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))))) x)
43.0b
(*.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))))
42.3b
(*.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)))))
41.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)))))
41.4b
(*.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))))))
50.0b
(*.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))))))
42.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))))))
41.4b
(*.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)))))
51.3b
(*.f64 (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) (sqrt.f64 x)))
42.0b
(*.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))))))
41.5b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 b (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 a t))))))
41.4b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 a b)))))
42.2b
(*.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))))
41.5b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)) (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x))) (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)))
42.4b
(*.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))))
60.9b
(*.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))))
Compiler

Compiled 2289 to 1571 computations (31.4% saved)

regimes2.1s (15.9%)

Accuracy

Total 4.8b remaining (11%)

Threshold costs 0b (0%)

Counts
139 → 1
Compiler

Compiled 54102 to 40020 computations (26% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
111

end661.0ms (5%)

Compiler

Compiled 1435 to 1053 computations (26.6% saved)

Profiling

Loading profile data...