Details

Time bar (total: 18.1s)

analyze1.5s (8.3%)

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
0%74.8%25.2%8
0%74.8%25.2%9
0%74.8%25.2%10
0%74.8%25.2%11
0%74.8%25.2%12
24.9%49.9%25.2%13
24.9%37.4%37.7%14
Compiler

Compiled 26 to 20 computations (23.1% saved)

sample4.3s (23.5%)

Symmetry

(sort z t)

Results
1.2s1641×body1024valid
936.0ms4766×body128valid
843.0ms745×body2048valid
668.0ms3485×body128invalid
384.0ms751×body512valid
128.0ms351×body256valid
10.0msbody4096valid
Compiler

Compiled 77 to 59 computations (23.4% saved)

simplify59.0ms (0.3%)

Algorithm
egg-herbie
Rules
718×fma-def_binary64
437×fma-neg_binary64
146×cancel-sign-sub-inv_binary64
110×distribute-rgt-neg-in_binary64
104×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01929
13429
26429
311427
420925
532225
649425
764425
881025
997925
10119725
11129725
12130825
13132425
14132425
15121325

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
19.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
19.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
Compiler

Compiled 138 to 101 computations (26.8% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 a (*.f64 b 3))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))
0.2b
(/.f64 (*.f64 z t) 3)
22.5b
(cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))

series69.0ms (0.4%)

Counts
4 → 120
Calls

4 calls:

50.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))
9.0ms
(cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))
6.0ms
(/.f64 a (*.f64 b 3))
4.0ms
(/.f64 (*.f64 z t) 3)

rewrite32.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
29×cos-sum_binary64
24×*-un-lft-identity_binary64
24×add-sqr-sqrt_binary64
24×add-cube-cbrt_binary64
21×prod-diff_binary64
Counts
4 → 107
Calls

4 calls:

9.0ms
(/.f64 a (*.f64 b 3))
7.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))
6.0ms
(cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))
3.0ms
(/.f64 (*.f64 z t) 3)

simplify169.0ms (0.9%)

Algorithm
egg-herbie
Rules
544×fma-def_binary64
441×cancel-sign-sub-inv_binary64
355×times-frac_binary64
315×fma-neg_binary64
307×associate-*l*_binary64
Counts
227 → 197
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04295768
18454618
225064006
347133886
449833886
548423886

prune594.0ms (3.3%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New17027197
Fresh011
Picked101
Done000
Total17128199
Error
11.2b
Counts
199 → 28
Alt Table
StatusErrorProgram
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))))) (/.f64 a (*.f64 b 3)))
25.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))))) (/.f64 a (*.f64 b 3)))
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (/.f64 a b) 3))
18.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
42.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
26.2b
(-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
24.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
19.8b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
34.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (sqrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 1 (/.f64 (*.f64 b 3) a)))
35.7b
(-.f64 (exp.f64 (log.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 t z) 3))) (*.f64 2 (sqrt.f64 x))))) (/.f64 a (*.f64 b 3)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
19.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log1p.f64 (expm1.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cbrt.f64 (/.f64 a (*.f64 b 3))) (cbrt.f64 (/.f64 a (*.f64 b 3)))) (cbrt.f64 (/.f64 a (*.f64 b 3)))))
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 t (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3)))) (cbrt.f64 3))))) (/.f64 a (*.f64 b 3)))
22.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 1/3 (*.f64 (*.f64 t z) (sin.f64 y)) (cos.f64 y))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))))) (/.f64 a (*.f64 b 3)))
44.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
19.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3))))) (*.f64 (sin.f64 y) (sin.f64 (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
19.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
25.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (+.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (cos.f64 (/.f64 (*.f64 t z) 3))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 t z) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
19.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 t z) 3))) 3))) (/.f64 a (*.f64 b 3)))
45.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (/.f64 (*.f64 (*.f64 a a) a) (*.f64 (*.f64 (*.f64 b b) b) (*.f64 (*.f64 3 3) 3)))))
30.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (expm1.f64 (log1p.f64 (/.f64 a (*.f64 b 3)))))
Compiler

Compiled 10109 to 6471 computations (36% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))
0.2b
(/.f64 a (*.f64 b 3))

series42.0ms (0.2%)

Counts
2 → 49
Calls

2 calls:

31.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
12.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
cancel-sign-sub-inv_binary64
prod-diff_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
2 → 48
Calls

2 calls:

6.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
4.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))

simplify75.0ms (0.4%)

Algorithm
egg-herbie
Rules
754×fma-neg_binary64
651×fma-def_binary64
358×*-commutative_binary64
307×associate-*l/_binary64
253×associate-*r/_binary64
Counts
97 → 86
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01641861
14291652
214161562
342591558
448111558

prune359.0ms (2%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New10516121
Fresh121527
Picked101
Done000
Total11831149
Error
10.8b
Counts
149 → 31
Alt Table
StatusErrorProgram
44.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 a b)))))
25.8b
(/.f64 (-.f64 (*.f64 x (*.f64 4 (*.f64 (cos.f64 y) (cos.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a b) 1/3)) 6)) (fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (/.f64 a b) 1/3)))
29.2b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))))) (/.f64 a (*.f64 b 3)))
25.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))))) (/.f64 a (*.f64 b 3)))
29.2b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
18.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
42.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
24.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
37.1b
(/.f64 (-.f64 (*.f64 8 (pow.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)) 3)) (pow.f64 (*.f64 (/.f64 a b) 1/3) 3)) (fma.f64 4 (*.f64 x (*.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 a b) (+.f64 (/.f64 (/.f64 a b) 9) (/.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)) 3/2)))))
19.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 t z) 3))) 3))) (/.f64 a (*.f64 b 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
36.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (+.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (+.f64 (*.f64 (/.f64 a (*.f64 b 3)) (/.f64 a (*.f64 b 3))) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))))))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
33.7b
(*.f64 -1/3 (/.f64 a b))
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 t (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3)))) (cbrt.f64 3))))) (/.f64 a (*.f64 b 3)))
34.7b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))))) (/.f64 a (*.f64 b 3)))
44.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 a b) 3))
21.4b
(-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3))))) (*.f64 (sin.f64 y) (sin.f64 (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
14.3b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
23.4b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
25.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (+.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (cos.f64 (/.f64 (*.f64 t z) 3))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 t z) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
14.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 (cbrt.f64 (/.f64 a (*.f64 3 b))) (cbrt.f64 (/.f64 a (*.f64 3 b)))) (cbrt.f64 (/.f64 a (*.f64 3 b)))))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 1 (/.f64 (*.f64 b 3) a)))
Compiler

Compiled 5674 to 3624 computations (36.1% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 a b) 3))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))
0.2b
(/.f64 (/.f64 a b) 3)

series38.0ms (0.2%)

Counts
2 → 61
Calls

2 calls:

30.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 a b) 3))
8.0ms
(/.f64 (/.f64 a b) 3)

rewrite35.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
207×times-frac_binary64
114×*-un-lft-identity_binary64
114×add-sqr-sqrt_binary64
114×add-cube-cbrt_binary64
43×cancel-sign-sub-inv_binary64
Counts
2 → 172
Calls

2 calls:

12.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 a b) 3))
4.0ms
(/.f64 (/.f64 a b) 3)

simplify147.0ms (0.8%)

Algorithm
egg-herbie
Rules
624×fma-def_binary64
546×associate-*r/_binary64
407×associate-*l/_binary64
222×distribute-neg-frac_binary64
201×associate-/l*_binary64
Counts
233 → 278
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04767435
114175665
247115659
351525659

prune746.0ms (4.1%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New3121313
Fresh32730
Picked101
Done000
Total31628344
Error
10.8b
Counts
344 → 28
Alt Table
StatusErrorProgram
25.8b
(/.f64 (-.f64 (*.f64 x (*.f64 4 (*.f64 (cos.f64 y) (cos.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a b) 1/3)) 6)) (fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (/.f64 a b) 1/3)))
29.2b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))))) (/.f64 a (*.f64 b 3)))
25.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))))) (/.f64 a (*.f64 b 3)))
29.2b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
18.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
42.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
24.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
37.1b
(/.f64 (-.f64 (*.f64 8 (pow.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)) 3)) (pow.f64 (*.f64 (/.f64 a b) 1/3) 3)) (fma.f64 4 (*.f64 x (*.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 a b) (+.f64 (/.f64 (/.f64 a b) 9) (/.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)) 3/2)))))
19.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 t z) 3))) 3))) (/.f64 a (*.f64 b 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
36.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (+.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (+.f64 (*.f64 (/.f64 a (*.f64 b 3)) (/.f64 a (*.f64 b 3))) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))))))
14.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 (/.f64 a b) (sqrt.f64 3)) (sqrt.f64 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
33.7b
(*.f64 -1/3 (/.f64 a b))
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 t (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3)))) (cbrt.f64 3))))) (/.f64 a (*.f64 b 3)))
34.7b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))))) (/.f64 a (*.f64 b 3)))
44.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
21.4b
(-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3))))) (*.f64 (sin.f64 y) (sin.f64 (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
14.3b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
23.4b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
25.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (+.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (cos.f64 (/.f64 (*.f64 t z) 3))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 t z) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
Compiler

Compiled 12086 to 6685 computations (44.7% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))
0.2b
(*.f64 a (/.f64 1/3 b))
0.3b
(/.f64 1/3 b)

series40.0ms (0.2%)

Counts
3 → 61
Calls

3 calls:

32.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
6.0ms
(*.f64 a (/.f64 1/3 b))
1.0ms
(/.f64 1/3 b)

rewrite15.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
24×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
19×times-frac_binary64
19×add-cube-cbrt_binary64
13×associate-*r*_binary64
Counts
3 → 79
Calls

3 calls:

5.0ms
(*.f64 a (/.f64 1/3 b))
5.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
2.0ms
(/.f64 1/3 b)

simplify100.0ms (0.6%)

Algorithm
egg-herbie
Rules
450×fma-def_binary64
440×fma-neg_binary64
343×cancel-sign-sub-inv_binary64
288×*-commutative_binary64
282×associate-*r/_binary64
Counts
140 → 128
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01541890
13551817
212221777
333821773
446491773
549181773

prune405.0ms (2.2%)

Pruning

28 alts after pruning (27 fresh and 1 done)

PrunedKeptTotal
New1630163
Fresh02727
Picked011
Done000
Total16328191
Error
10.8b
Counts
191 → 28
Alt Table
StatusErrorProgram
25.8b
(/.f64 (-.f64 (*.f64 x (*.f64 4 (*.f64 (cos.f64 y) (cos.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 (/.f64 a b) 1/3)) 6)) (fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (/.f64 a b) 1/3)))
29.2b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 1 3) (*.f64 z t))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 1 3)) (*.f64 z t) (*.f64 (/.f64 1 3) (*.f64 z t))))))) (/.f64 a (*.f64 b 3)))
25.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (cbrt.f64 3))) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))) (*.f64 (/.f64 t (cbrt.f64 3)) (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3))))))))) (/.f64 a (*.f64 b 3)))
29.2b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
18.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
42.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (cos.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))) (sin.f64 (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3))) (sqrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (sqrt.f64 (/.f64 (*.f64 z t) 3)) (sqrt.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
24.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (expm1.f64 (log1p.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t (sqrt.f64 3))) (/.f64 z (sqrt.f64 3)) (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (cbrt.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 1 y (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
37.1b
(/.f64 (-.f64 (*.f64 8 (pow.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)) 3)) (pow.f64 (*.f64 (/.f64 a b) 1/3) 3)) (fma.f64 4 (*.f64 x (*.f64 (cos.f64 y) (cos.f64 y))) (*.f64 (/.f64 a b) (+.f64 (/.f64 (/.f64 a b) 9) (/.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)) 3/2)))))
19.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 t z) 3))) 3))) (/.f64 a (*.f64 b 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
36.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (+.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (+.f64 (*.f64 (/.f64 a (*.f64 b 3)) (/.f64 a (*.f64 b 3))) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))))))
14.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 (/.f64 a b) (sqrt.f64 3)) (sqrt.f64 3)))
14.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
33.7b
(*.f64 -1/3 (/.f64 a b))
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 t (/.f64 z (*.f64 (cbrt.f64 3) (cbrt.f64 3)))) (cbrt.f64 3))))) (/.f64 a (*.f64 b 3)))
34.7b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.f64 (/.f64 z 1)) (/.f64 t 3)))))) (/.f64 a (*.f64 b 3)))
44.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (cos.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (*.f64 (sin.f64 (fma.f64 (sqrt.f64 y) (sqrt.f64 y) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))) (sin.f64 (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))))))))) (/.f64 a (*.f64 b 3)))
21.4b
(-.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 y)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3))))) (*.f64 (sin.f64 y) (sin.f64 (neg.f64 (*.f64 (/.f64 t (sqrt.f64 3)) (/.f64 z (sqrt.f64 3)))))))) (/.f64 a (*.f64 b 3)))
14.3b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
23.4b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
25.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (cos.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 t 3) (/.f64 z 1))))) (sin.f64 (fma.f64 (neg.f64 (/.f64 t 3)) (/.f64 z 1) (*.f64 (/.f64 t 3) (/.f64 z 1))))))) (/.f64 a (*.f64 b 3)))
19.1b
(-.f64 (+.f64 (*.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (cos.f64 (/.f64 (*.f64 t z) 3))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 t z) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
Compiler

Compiled 4629 to 2802 computations (39.5% saved)

regimes7.8s (42.8%)

Accuracy

Total 2.4b remaining (15.9%)

Threshold costs 0b (0%)

Counts
249 → 3
Compiler

Compiled 145194 to 107166 computations (26.2% saved)

bsearch27.0ms (0.2%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Rules
20×*-commutative_binary64
15×+-commutative_binary64
14×sub-neg_binary64
11×neg-sub0_binary64
11×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046142
183142
2113142
3135142
4145142
5147142
6145142

end1.6s (8.6%)

Remove

(sort z t)

Compiler

Compiled 1912 to 1337 computations (30.1% saved)

Profiling

Loading profile data...