Details

Time bar (total: 23.1s)

analyze1.7s (7.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
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.2s (18.1%)

Symmetry

(sort z t)

Results
1.2s1603×body1024valid
906.0ms4789×body128valid
856.0ms754×body2048valid
617.0ms3447×body128invalid
373.0ms771×body512valid
127.0ms339×body256valid
Compiler

Compiled 77 to 59 computations (23.4% saved)

simplify58.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.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
20.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
20.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
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 (*.f64 z t) 3)
0.2b
(/.f64 a (*.f64 b 3))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))
20.6b
(cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))

series83.0ms (0.4%)

Counts
4 → 120
Calls

4 calls:

52.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))
20.0ms
(cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))
6.0ms
(/.f64 a (*.f64 b 3))
5.0ms
(/.f64 (*.f64 z t) 3)

rewrite30.0ms (0.1%)

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:

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

simplify163.0ms (0.7%)

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

prune638.0ms (2.8%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New17027197
Fresh011
Picked101
Done000
Total17128199
Error
13.3b
Counts
199 → 28
Alt Table
StatusErrorProgram
20.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3))) (cbrt.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.6b
(-.f64 (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
28.1b
(-.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)))
19.6b
(-.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)))
24.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 z t) 3) (/.f64 (*.f64 z t) 3)) (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
49.0b
(-.f64 (log.f64 (exp.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (*.f64 z t) 3) 1)))) (cos.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (sin.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))))) (/.f64 a (*.f64 b 3)))
20.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
24.0b
(-.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)))
30.6b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
20.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (/.f64 a b) 3))
30.6b
(-.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)))
17.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
20.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 1 (/.f64 3 (/.f64 a b))))
20.3b
(-.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)))
27.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
18.8b
(-.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)))
20.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (/.f64 (*.f64 z t) (sqrt.f64 3)) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3)))
20.1b
(-.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)))
27.1b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.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)))
20.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) b) (/.f64 (cbrt.f64 a) 3)))
20.7b
(-.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)))
20.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
20.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (expm1.f64 (log1p.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3)))
29.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (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)))
20.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.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)))
Compiler

Compiled 9701 to 6165 computations (36.4% saved)

localize11.0ms (0%)

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

series50.0ms (0.2%)

Counts
2 → 49
Calls

2 calls:

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

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

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

prune370.0ms (1.6%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New10813121
Fresh101727
Picked101
Done000
Total11930149
Error
13.1b
Counts
149 → 30
Alt Table
StatusErrorProgram
25.5b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))) (/.f64 a (*.f64 b 3)))
19.6b
(-.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)))
17.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))) (/.f64 a (*.f64 b 3)))
24.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 z t) 3) (/.f64 (*.f64 z t) 3)) (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
49.0b
(-.f64 (log.f64 (exp.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (*.f64 z t) 3) 1)))) (cos.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (sin.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))))) (/.f64 a (*.f64 b 3)))
24.0b
(-.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)))
30.6b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
17.4b
(-.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)))
30.6b
(-.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)))
26.7b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
62.0b
(log.f64 (exp.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 -1/3 (/.f64 a b)))))
27.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)))
20.3b
(-.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)))
27.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
17.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 1 (/.f64 3 (/.f64 a b))))
18.8b
(-.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)))
20.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (/.f64 (*.f64 z t) (sqrt.f64 3)) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3)))
27.1b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.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)))
17.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 a (/.f64 1/3 b)))
37.9b
(*.f64 -1/3 (/.f64 a b))
25.2b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
39.0b
(/.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)))))
20.7b
(-.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)))
17.2b
(+.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (*.f64 (/.f64 a 3) (/.f64 1 b)))) (fma.f64 (neg.f64 (/.f64 a 3)) (/.f64 1 b) (*.f64 (/.f64 a 3) (/.f64 1 b))))
20.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.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.6b
(-.f64 (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3)))
17.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) b) (/.f64 (cbrt.f64 a) 3)))
Compiler

Compiled 5238 to 3296 computations (37.1% saved)

localize13.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 1 (/.f64 3 (/.f64 a b))))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))
0.3b
(/.f64 3 (/.f64 a b))
0.6b
(/.f64 1 (/.f64 3 (/.f64 a b)))

series50.0ms (0.2%)

Counts
3 → 85
Calls

3 calls:

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

rewrite149.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
1131×times-frac_binary64
530×*-un-lft-identity_binary64
530×add-sqr-sqrt_binary64
530×add-cube-cbrt_binary64
137×cancel-sign-sub-inv_binary64
Counts
3 → 566
Calls

3 calls:

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

simplify448.0ms (1.9%)

Algorithm
egg-herbie
Rules
803×fma-def_binary64
406×associate-/r/_binary64
385×associate-*r/_binary64
294×associate-*l/_binary64
224×associate-/r*_binary64
Counts
651 → 792
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060223062
1164617859
2488817853
3536417853

prune2.2s (9.4%)

Pruning

29 alts after pruning (29 fresh and 0 done)

PrunedKeptTotal
New8252827
Fresh22729
Picked101
Done000
Total82829857
Error
13.1b
Counts
857 → 29
Alt Table
StatusErrorProgram
25.5b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))) (/.f64 a (*.f64 b 3)))
19.6b
(-.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)))
17.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))) (/.f64 a (*.f64 b 3)))
24.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 z t) 3) (/.f64 (*.f64 z t) 3)) (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
49.0b
(-.f64 (log.f64 (exp.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (*.f64 z t) 3) 1)))) (cos.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (sin.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))))) (/.f64 a (*.f64 b 3)))
24.0b
(-.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)))
30.6b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
17.4b
(-.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)))
30.6b
(-.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)))
26.7b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
62.0b
(log.f64 (exp.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 -1/3 (/.f64 a b)))))
27.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)))
20.3b
(-.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)))
27.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
18.8b
(-.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)))
20.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (/.f64 (*.f64 z t) (sqrt.f64 3)) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3)))
27.1b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.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)))
25.2b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
39.0b
(/.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)))))
20.7b
(-.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)))
17.2b
(+.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (*.f64 (/.f64 a 3) (/.f64 1 b)))) (fma.f64 (neg.f64 (/.f64 a 3)) (/.f64 1 b) (*.f64 (/.f64 a 3) (/.f64 1 b))))
20.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.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.6b
(-.f64 (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
17.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 1 (/.f64 3 a)) b))
37.9b
(*.f64 -1/3 (/.f64 a b))
17.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 -1 (*.f64 (/.f64 -3 a) b)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3)))
Compiler

Compiled 32000 to 18980 computations (40.7% saved)

localize12.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 -1 (*.f64 (/.f64 -3 a) b)))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))
0.2b
(*.f64 (/.f64 -3 a) b)
0.6b
(/.f64 -1 (*.f64 (/.f64 -3 a) b))

series48.0ms (0.2%)

Counts
3 → 85
Calls

3 calls:

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

rewrite22.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
22×add-sqr-sqrt_binary64
19×times-frac_binary64
17×*-un-lft-identity_binary64
17×add-cube-cbrt_binary64
17×add-cbrt-cube_binary64
Counts
3 → 90
Calls

3 calls:

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

simplify101.0ms (0.4%)

Algorithm
egg-herbie
Rules
869×fma-neg_binary64
259×log-prod_binary64
210×distribute-rgt-neg-in_binary64
183×associate-*l*_binary64
168×associate-*r*_binary64
Counts
175 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02212364
15152184
221672110
342682106
446852106

prune482.0ms (2.1%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New1871188
Fresh12728
Picked101
Done000
Total18928217
Error
13.1b
Counts
217 → 28
Alt Table
StatusErrorProgram
25.5b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))) (/.f64 a (*.f64 b 3)))
19.6b
(-.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)))
17.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (cos.f64 y))) (/.f64 a (*.f64 b 3)))
24.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (cbrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 z t) 3) (/.f64 (*.f64 z t) 3)) (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
49.0b
(-.f64 (log.f64 (exp.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (*.f64 z t) 3) 1)))) (cos.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (*.f64 (sin.f64 (fma.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 y) (neg.f64 (*.f64 (/.f64 (*.f64 z t) 3) 1)))) (sin.f64 (fma.f64 (neg.f64 (/.f64 (*.f64 z t) 3)) 1 (*.f64 (/.f64 (*.f64 z t) 3) 1)))))) (/.f64 a (*.f64 b 3)))
24.0b
(-.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)))
30.6b
(-.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
17.4b
(-.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)))
30.6b
(-.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)))
26.7b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
62.0b
(log.f64 (exp.f64 (fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 -1/3 (/.f64 a b)))))
27.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)))
20.3b
(-.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)))
27.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
18.8b
(-.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)))
20.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (/.f64 (*.f64 z t) (sqrt.f64 3)) (sqrt.f64 3))))) (/.f64 a (*.f64 b 3)))
27.1b
(-.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 (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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.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)))
39.0b
(/.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)))))
20.7b
(-.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)))
25.2b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 -1 (*.f64 (/.f64 -3 a) b)))
19.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (sin.f64 y)))) (/.f64 a (*.f64 b 3)))
17.2b
(+.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (neg.f64 (*.f64 (/.f64 a 3) (/.f64 1 b)))) (fma.f64 (neg.f64 (/.f64 a 3)) (/.f64 1 b) (*.f64 (/.f64 a 3) (/.f64 1 b))))
20.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.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.6b
(-.f64 (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x)))) (/.f64 a (*.f64 b 3)))
17.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 1 (/.f64 3 a)) b))
37.9b
(*.f64 -1/3 (/.f64 a b))
Compiler

Compiled 5470 to 3479 computations (36.4% saved)

regimes11.5s (49.8%)

Accuracy

Total 2.6b remaining (16.8%)

Threshold costs 0b (0%)

Counts
316 → 3
Compiler

Compiled 188978 to 144824 computations (23.4% saved)

bsearch17.0ms (0.1%)

Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
21×*-commutative_binary64
17×+-commutative_binary64
17×sub-neg_binary64
13×neg-sub0_binary64
13×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045159
176159
2110159
3139159
4154159
5158159
6157159

end713.0ms (3.1%)

Remove

(sort z t)

Compiler

Compiled 1766 to 1221 computations (30.9% saved)

Profiling

Loading profile data...