Details

Time bar (total: 14.0s)

analyze1.6s (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)

sample8.6s (61.8%)

Results
4.1s2494×body2048valid
2.0s2036×body1024valid
1.1s342×body4096valid
643.0ms940×body512valid
504.0ms2030×body128valid
183.0ms414×body256valid
Compiler

Compiled 101 to 80 computations (20.8% saved)

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

prune9.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
45.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
46.4b
(*.f64 (*.f64 x (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 y 2) 1) z) t) 16))) (cos.f64 (/.f64 (*.f64 (*.f64 (+.f64 (*.f64 a 2) 1) b) t) 16)))
46.1b
(*.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)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
2.5b
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))
35.1b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))
35.4b
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))

series98.0ms (0.7%)

Counts
4 → 144
Calls

4 calls:

40.0ms
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))
35.0ms
(cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))
12.0ms
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
11.0ms
(*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))

rewrite76.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
882×prod-diff_binary64
159×add-sqr-sqrt_binary64
149×add-log-exp_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
Counts
4 → 70
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01648
132248
2369148
3514048
000
100

simplify87.0ms (0.6%)

Algorithm
egg-herbie
Rules
871×cancel-sign-sub-inv_binary64
479×associate-*r*_binary64
371×unswap-sqr_binary64
335×associate-*l*_binary64
270×fma-def_binary64
Counts
214 → 119
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02443812
17973254
231053254
351503254

prune273.0ms (2%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New9227119
Fresh101
Picked101
Done000
Total9427121
Error
41.3b
Counts
121 → 27
Alt Table
StatusErrorProgram
47.3b
(*.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))))))
46.1b
(*.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.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 t) b) (fma.f64 a 1/8 1/16)))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
53.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
46.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))))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
50.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2)))
46.1b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (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)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
53.5b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 (fma.f64 a 1/8 1/16) b))))
46.1b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.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))))
50.3b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)) 3) 1/3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
45.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 y t))) z))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
47.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (-.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) (*.f64 1/8 (*.f64 a (*.f64 t (*.f64 (sin.f64 (*.f64 1/16 (*.f64 t b))) b))))))
47.2b
(*.f64 (*.f64 x (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 3)) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))))
Compiler

Compiled 5976 to 4010 computations (32.9% 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))))
2.0b
(*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))
35.1b
(cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))

series75.0ms (0.5%)

Counts
1 → 48
Calls

1 calls:

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

rewrite54.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
574×log-prod_binary64
441×prod-diff_binary64
217×expm1-udef_binary64
217×log1p-udef_binary64
188×log-pow_binary64
Counts
1 → 18
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01416
125716
2275516
3520416
000
100

simplify75.0ms (0.5%)

Algorithm
egg-herbie
Rules
552×associate-+l+_binary64
499×sub-neg_binary64
394×cancel-sign-sub-inv_binary64
312×associate-*r*_binary64
229×associate--r+_binary64
Counts
66 → 38
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01351853
14151611
217501405
345701405
452001405

prune214.0ms (1.5%)

Pruning

39 alts after pruning (39 fresh and 0 done)

PrunedKeptTotal
New791897
Fresh52126
Picked101
Done000
Total8539124
Error
39.4b
Counts
124 → 39
Alt Table
StatusErrorProgram
45.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
55.1b
(pow.f64 (sqrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) 2)
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 t) b) (fma.f64 a 1/8 1/16)))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
45.6b
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) 3)
53.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
46.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.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
60.7b
(pow.f64 (pow.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 3) 1/3)
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
50.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 y t))) z))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.1b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (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)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
45.4b
(*.f64 (*.f64 x 1) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
53.5b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 (fma.f64 a 1/8 1/16) b))))
44.1b
x
46.1b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.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 1) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))))
50.3b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)) 3) 1/3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
47.2b
(*.f64 (*.f64 x (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
46.1b
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 3)) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.1b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
55.7b
(exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.5b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
62.3b
(log.f64 (pow.f64 (exp.f64 x) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
53.4b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
58.0b
(sqrt.f64 (pow.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2))
44.6b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
49.6b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
Compiler

Compiled 4827 to 3421 computations (29.1% saved)

localize1.0ms (0%)

prune50.0ms (0.4%)

Pruning

39 alts after pruning (38 fresh and 1 done)

PrunedKeptTotal
New000
Fresh03838
Picked011
Done000
Total03939
Error
39.4b
Counts
39 → 39
Alt Table
StatusErrorProgram
45.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
55.1b
(pow.f64 (sqrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) 2)
47.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (log.f64 (pow.f64 (pow.f64 (exp.f64 t) b) (fma.f64 a 1/8 1/16)))))
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
45.6b
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) 3)
53.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
46.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.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
60.7b
(pow.f64 (pow.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 3) 1/3)
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
50.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 y t))) z))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.1b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (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)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
45.4b
(*.f64 (*.f64 x 1) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
53.5b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 (fma.f64 a 1/8 1/16) b))))
44.1b
x
46.1b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.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 1) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))))
50.3b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)) 3) 1/3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
47.2b
(*.f64 (*.f64 x (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.2b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
46.1b
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 3)) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.1b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
55.7b
(exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
45.5b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/16 (*.f64 t z)))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.5b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
62.3b
(log.f64 (pow.f64 (exp.f64 x) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
53.4b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
58.0b
(sqrt.f64 (pow.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2))
44.6b
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
49.6b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
Compiler

Compiled 1951 to 1508 computations (22.7% saved)

localize6.0ms (0%)

Local error

Found 3 expressions with local error:

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

series30.0ms (0.2%)

Counts
3 → 16
Calls

3 calls:

15.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
10.0ms
(cos.f64 (*.f64 1/16 (*.f64 t b)))
5.0ms
(*.f64 1/16 (*.f64 t b))

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
768×log1p-expm1-u_binary64
768×expm1-log1p-u_binary64
324×prod-diff_binary64
87×add-sqr-sqrt_binary64
83×associate-*r*_binary64
Counts
3 → 46
Calls

3 calls:

52.0ms
(*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)
52.0ms
(*.f64 1/16 (*.f64 t b))
52.0ms
(cos.f64 (*.f64 1/16 (*.f64 t b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118028
2203628
3524528
000
100

simplify58.0ms (0.4%)

Algorithm
egg-herbie
Rules
948×distribute-rgt-neg-in_binary64
654×fma-neg_binary64
404×distribute-lft-neg-in_binary64
350×associate-*l*_binary64
315×associate-*r*_binary64
Counts
62 → 60
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042396
1121388
2395364
31734354
44110354
55382354

prune123.0ms (0.9%)

Pruning

47 alts after pruning (46 fresh and 1 done)

PrunedKeptTotal
New471360
Fresh43337
Picked101
Done011
Total524799
Error
39.1b
Counts
99 → 47
Alt Table
StatusErrorProgram
46.4b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
45.8b
(*.f64 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 1/16 (*.f64 t b)))) 1)) x)
45.6b
(pow.f64 (cbrt.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))) 3)
53.8b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
46.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))))
55.3b
(exp.f64 (log.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)))
53.8b
(*.f64 (*.f64 x 1) (cos.f64 (exp.f64 (log.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
60.7b
(pow.f64 (pow.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 3) 1/3)
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
46.3b
(*.f64 (*.f64 x (cos.f64 (*.f64 1/8 (*.f64 y (*.f64 t z))))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
50.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (*.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2)))
46.1b
(*.f64 (*.f64 x (cos.f64 (*.f64 (+.f64 (*.f64 1/16 t) (*.f64 1/8 (*.f64 y t))) z))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
57.5b
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x) 2))
44.6b
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) 3)) x)
45.2b
(*.f64 (*.f64 x 1) (*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))) 2) (cbrt.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
46.1b
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (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)))) (cos.f64 (*.f64 1/16 (*.f64 t b))))
44.9b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)) 3)
45.4b
(*.f64 (*.f64 x 1) (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
53.5b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 t (*.f64 (fma.f64 a 1/8 1/16) b))))
60.4b
(pow.f64 (pow.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x) 3) 1/3)
45.0b
(*.f64 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) 2)) x)
44.1b
x
46.1b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.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 1) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))))
50.3b
(*.f64 (*.f64 x (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)) 3) 1/3))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.0b
(*.f64 (*.f64 x (sqrt.f64 (pow.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16))) 2))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
44.6b
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/16 (*.f64 t b)))) 3) x)
45.2b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 1/8 (*.f64 a (*.f64 t b)))))
46.1b
(*.f64 (pow.f64 (pow.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) 3) 1/3) x)
47.2b
(*.f64 (*.f64 x (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 1))) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
46.1b
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) 3)) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))
45.1b
(*.f64 (*.f64 x 1) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
55.7b
(exp.f64 (log.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))))))
52.4b
(*.f64 (cos.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (*.f64 t b))) 2)) x)
49.6b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)) 3) 1/3)))
45.5b
(*.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.4b
(*.f64 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 1/16 (*.f64 t b))) 3)) x)
45.5b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 3)))
62.3b
(log.f64 (pow.f64 (exp.f64 x) (cos.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16)))))
48.5b
(*.f64 (cos.f64 (pow.f64 (pow.f64 (*.f64 1/16 (*.f64 t b)) 3) 1/3)) x)
53.4b
(*.f64 (*.f64 x 1) (cos.f64 (pow.f64 (sqrt.f64 (*.f64 (*.f64 t b) (fma.f64 a 1/8 1/16))) 2)))
45.9b
(*.f64 (*.f64 x (cos.f64 (*.f64 (*.f64 z t) (fma.f64 y 1/8 1/16)))) (cos.f64 (*.f64 1/8 (*.f64 t (*.f64 a b)))))
54.7b
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 (*.f64 1/16 (*.f64 t b))) x)) 2)
Compiler

Compiled 1907 to 1382 computations (27.5% saved)

regimes1.8s (12.7%)

Accuracy

Total 5.0b remaining (11.1%)

Threshold costs 0b (0%)

Counts
118 → 1
Compiler

Compiled 39906 to 30556 computations (23.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
111

end612.0ms (4.4%)

Compiler

Compiled 1112 to 871 computations (21.7% saved)

Profiling

Loading profile data...