Details

Time bar (total: 12.8s)

analyze1.4s (11.2%)

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.4s (57.7%)

Results
3.5s2480×body2048valid
1.7s1978×body1024valid
878.0ms314×body4096valid
632.0ms975×body512valid
446.0ms2105×body128valid
168.0ms404×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
48.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
49.3b
(*.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)))
48.5b
(*.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)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
2.6b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
38.3b
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))
39.0b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

series94.0ms (0.7%)

Counts
4 → 144
Calls

4 calls:

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

simplify104.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 → 148
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03635086
19974318
241074270
353134270

prune322.0ms (2.5%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New11830148
Fresh101
Picked101
Done000
Total12030150
Error
44.1b
Counts
150 → 30
Alt Table
StatusErrorProgram
49.9b
(*.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))))))
49.3b
(*.f64 (*.f64 x (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z)))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
54.5b
(*.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))))
48.5b
(*.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))))))
48.1b
(*.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.5b
(*.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))))
48.5b
(*.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))))))
61.0b
(*.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))))
48.8b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
51.3b
(*.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)))))
48.8b
(*.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))))
48.7b
(*.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))))
48.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
48.4b
(*.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))))))
48.8b
(*.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))))
50.0b
(*.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))))
47.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1)
50.2b
(*.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))))
48.8b
(*.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)))))
48.5b
(*.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))))
55.2b
(*.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))))))
48.5b
(*.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))))))
54.6b
(*.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))))
48.5b
(*.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.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.4b
(*.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))))
49.0b
(*.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)))))))
48.6b
(*.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))))
48.8b
(*.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)))))
48.4b
(*.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)))))
Compiler

Compiled 7575 to 4962 computations (34.5% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))
2.2b
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
38.3b
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))

series69.0ms (0.5%)

Counts
1 → 48
Calls

1 calls:

69.0ms
(*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))

rewrite5.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:

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

simplify76.0ms (0.6%)

Algorithm
egg-herbie
Rules
657×cancel-sign-sub-inv_binary64
480×associate--l+_binary64
367×sub-neg_binary64
339×associate-*r*_binary64
241×distribute-rgt-out_binary64
Counts
68 → 55
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01782301
15342019
221461819
344571819
450021819

prune271.0ms (2.1%)

Pruning

43 alts after pruning (43 fresh and 0 done)

PrunedKeptTotal
New11021131
Fresh72229
Picked101
Done000
Total11843161
Error
42.0b
Counts
161 → 43
Alt Table
StatusErrorProgram
56.3b
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (sqrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
49.9b
(*.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))))))
54.3b
(*.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)))))) 1)
54.5b
(*.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))))
48.5b
(*.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))))))
48.1b
(*.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 (*.f64 (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
49.0b
(*.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)))))))
48.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 1/8 y 1/16))))) 1)
46.9b
(*.f64 x 1)
48.5b
(*.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))))))
48.5b
(*.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))))
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 t z) (*.f64 (cbrt.f64 (fma.f64 1/8 y 1/16)) (cbrt.f64 (fma.f64 1/8 y 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) 1)
58.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
61.0b
(*.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))))
48.8b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
56.8b
(*.f64 (exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.6b
(*.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))))
49.1b
(*.f64 (*.f64 x (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z)))))) 1)
51.3b
(*.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)))))
48.1b
(*.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))))))) 1)
48.8b
(*.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)))))
48.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) 1)
47.7b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 z t) (*.f64 y 1/8))) (cos.f64 (*.f64 (*.f64 z t) 1/16))) (*.f64 (sin.f64 (*.f64 (*.f64 z t) (*.f64 y 1/8))) (sin.f64 (*.f64 (*.f64 z t) 1/16))))) 1)
57.5b
(*.f64 (exp.f64 (+.f64 (log.f64 x) (log.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
49.5b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.4b
(*.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))))))
48.8b
(*.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))))
50.0b
(*.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))))
49.7b
(*.f64 (*.f64 (*.f64 x (sqrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.3b
(*.f64 (*.f64 (*.f64 x (*.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 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.5b
(*.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))))
48.8b
(*.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)))))
55.2b
(*.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))))))
48.5b
(*.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))))))
48.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)))))) 1)
48.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.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.5b
(*.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.5b
(*.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))))))) 1)
47.3b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) 1)
49.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))) 3)))) 1)
Compiler

Compiled 7149 to 4970 computations (30.5% saved)

localize2.0ms (0%)

prune57.0ms (0.4%)

Pruning

43 alts after pruning (42 fresh and 1 done)

PrunedKeptTotal
New000
Fresh04242
Picked011
Done000
Total04343
Error
42.0b
Counts
43 → 43
Alt Table
StatusErrorProgram
56.3b
(*.f64 (*.f64 (sqrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (sqrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
49.9b
(*.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))))))
54.3b
(*.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)))))) 1)
54.5b
(*.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))))
48.5b
(*.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))))))
48.1b
(*.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 (*.f64 (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
49.0b
(*.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)))))))
48.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 1/8 y 1/16))))) 1)
46.9b
(*.f64 x 1)
48.5b
(*.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))))))
48.5b
(*.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))))
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 t z) (*.f64 (cbrt.f64 (fma.f64 1/8 y 1/16)) (cbrt.f64 (fma.f64 1/8 y 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) 1)
58.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
61.0b
(*.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))))
48.8b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
56.8b
(*.f64 (exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.6b
(*.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))))
49.1b
(*.f64 (*.f64 x (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z)))))) 1)
51.3b
(*.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)))))
48.1b
(*.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))))))) 1)
48.8b
(*.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)))))
48.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) 1)
47.7b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 z t) (*.f64 y 1/8))) (cos.f64 (*.f64 (*.f64 z t) 1/16))) (*.f64 (sin.f64 (*.f64 (*.f64 z t) (*.f64 y 1/8))) (sin.f64 (*.f64 (*.f64 z t) 1/16))))) 1)
57.5b
(*.f64 (exp.f64 (+.f64 (log.f64 x) (log.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
49.5b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.4b
(*.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))))))
48.8b
(*.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))))
50.0b
(*.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))))
49.7b
(*.f64 (*.f64 (*.f64 x (sqrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.3b
(*.f64 (*.f64 (*.f64 x (*.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 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.5b
(*.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))))
48.8b
(*.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)))))
55.2b
(*.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))))))
48.5b
(*.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))))))
48.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)))))) 1)
48.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.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.5b
(*.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.5b
(*.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))))))) 1)
47.3b
(*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x) 1)
49.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))) 3)))) 1)
Compiler

Compiled 2791 to 2054 computations (26.4% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series21.0ms (0.2%)

Counts
2 → 16
Calls

2 calls:

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

rewrite8.0ms (0.1%)

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
(cos.f64 (*.f64 1/16 (*.f64 t z)))
3.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)

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

prune109.0ms (0.8%)

Pruning

47 alts after pruning (46 fresh and 1 done)

PrunedKeptTotal
New46854
Fresh33841
Picked101
Done011
Total504797
Error
42.0b
Counts
97 → 47
Alt Table
StatusErrorProgram
49.9b
(*.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))))))
54.3b
(*.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)))))) 1)
54.5b
(*.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))))
48.5b
(*.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))))))
48.1b
(*.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 (*.f64 (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
49.0b
(*.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)))))))
48.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 z (*.f64 t (fma.f64 1/8 y 1/16))))) 1)
46.9b
(*.f64 x 1)
48.5b
(*.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))))))
48.5b
(*.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))))
47.3b
(*.f64 (*.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))))) x) 1)
48.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 (*.f64 t z) (*.f64 (cbrt.f64 (fma.f64 1/8 y 1/16)) (cbrt.f64 (fma.f64 1/8 y 1/16)))) (cbrt.f64 (fma.f64 y 1/8 1/16))))) 1)
61.0b
(*.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))))
48.8b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
48.6b
(*.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))))
49.1b
(*.f64 (*.f64 x (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 1/8 (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 y (*.f64 t z)))))) 1)
51.3b
(*.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)))))
47.5b
(*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (*.f64 (cbrt.f64 x) (cbrt.f64 x))) (cbrt.f64 x)) 1)
48.1b
(*.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))))))) 1)
48.8b
(*.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.3b
(*.f64 (*.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)) 1)
48.2b
(*.f64 (*.f64 x (cos.f64 (*.f64 t (*.f64 1/8 (*.f64 y z))))) 1)
47.7b
(*.f64 (*.f64 x (-.f64 (*.f64 (cos.f64 (*.f64 (*.f64 z t) (*.f64 y 1/8))) (cos.f64 (*.f64 (*.f64 z t) 1/16))) (*.f64 (sin.f64 (*.f64 (*.f64 z t) (*.f64 y 1/8))) (sin.f64 (*.f64 (*.f64 z t) 1/16))))) 1)
57.5b
(*.f64 (exp.f64 (+.f64 (log.f64 x) (log.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
56.0b
(*.f64 (*.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x)) (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x))) 1)
49.5b
(*.f64 (*.f64 x (cos.f64 (expm1.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))))) 1)
48.4b
(*.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))))))
48.8b
(*.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))))
58.1b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 1/16 (*.f64 t z)))) (*.f64 (*.f64 x x) x))) 1)
50.0b
(*.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))))
47.5b
(*.f64 (*.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))) 1)
49.7b
(*.f64 (*.f64 (*.f64 x (sqrt.f64 (cos.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16)))))) (sqrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.3b
(*.f64 (*.f64 (*.f64 x (*.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 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.5b
(*.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))))
48.8b
(*.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)))))
55.2b
(*.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))))))
48.5b
(*.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))))))
62.2b
(*.f64 (log.f64 (exp.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t z))) x))) 1)
48.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)))))) 1)
48.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))))) 1)
48.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.5b
(*.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)))
56.5b
(*.f64 (exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))))) 1)
48.5b
(*.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))))))) 1)
49.4b
(*.f64 (*.f64 x (cos.f64 (cbrt.f64 (pow.f64 (*.f64 t (*.f64 z (fma.f64 1/8 y 1/16))) 3)))) 1)
Compiler

Compiled 2471 to 1740 computations (29.6% saved)

regimes2.0s (15.6%)

Accuracy

Total 4.8b remaining (10.9%)

Threshold costs 0b (0%)

Counts
130 → 1
Compiler

Compiled 53998 to 39786 computations (26.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
*-rgt-identity_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041
171
261

end696.0ms (5.4%)

Compiler

Compiled 1509 to 1114 computations (26.2% saved)

Profiling

Loading profile data...