Details

Time bar (total: 16.9s)

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

Symmetry

(sort z t)

Results
1.2s1679×body1024valid
963.0ms4714×body128valid
874.0ms772×body2048valid
614.0ms3365×body128invalid
353.0ms728×body512valid
124.0ms361×body256valid
5.0msbody4096valid
Compiler

Compiled 77 to 59 computations (23.4% saved)

simplify62.0ms (0.4%)

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.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
19.4b
(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)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series63.0ms (0.4%)

Counts
4 → 120
Calls

4 calls:

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

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

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)
3.0ms
(/.f64 a (*.f64 b 3))

simplify161.0ms (1%)

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

prune645.0ms (3.8%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New17126197
Fresh101
Picked101
Done000
Total17326199
Error
12.5b
Counts
199 → 26
Alt Table
StatusErrorProgram
19.5b
(-.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.5b
(-.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)))
27.6b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 t z) 3))) (*.f64 2 (sqrt.f64 x))) 3)) (/.f64 a (*.f64 b 3)))
19.4b
(-.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)))
18.9b
(-.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)))
45.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
19.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 1/3 (/.f64 a b)))
18.9b
(-.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)))
24.3b
(-.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 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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
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)))
24.4b
(-.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)))
19.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)))
15.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
19.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 1 b) (/.f64 a 3)))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (/.f64 (*.f64 z t) 3))))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.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)))
37.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (sqrt.f64 (/.f64 a (*.f64 b 3))) (sqrt.f64 (/.f64 a (*.f64 b 3)))))
19.5b
(-.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.0b
(-.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)))
38.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
19.4b
(-.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)))
32.0b
(-.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
45.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 (/.f64 a b) 3))
19.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)))
18.4b
(-.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)))
19.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
Compiler

Compiled 10073 to 6507 computations (35.4% saved)

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

series51.0ms (0.3%)

Counts
2 → 49
Calls

2 calls:

33.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
17.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)))
5.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))

simplify81.0ms (0.5%)

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

prune391.0ms (2.3%)

Pruning

31 alts after pruning (31 fresh and 0 done)

PrunedKeptTotal
New10813121
Fresh71825
Picked101
Done000
Total11631147
Error
12.2b
Counts
147 → 31
Alt Table
StatusErrorProgram
19.5b
(-.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.5b
(-.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)))
33.7b
(*.f64 -1/3 (/.f64 a b))
30.5b
(/.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)))
33.6b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
19.4b
(-.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)))
18.9b
(-.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)))
45.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
23.0b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
45.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
18.9b
(-.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)))
24.3b
(-.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 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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
45.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 a b)))))
40.9b
(/.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)))))
15.9b
(-.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)))
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)))
24.4b
(-.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)))
36.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (sqrt.f64 (/.f64 a (*.f64 3 b))) (sqrt.f64 (/.f64 a (*.f64 3 b)))))
16.1b
(-.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)))
15.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
26.3b
(-.f64 (exp.f64 (log.f64 (*.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y))))) (/.f64 a (*.f64 b 3)))
19.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)))
15.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 a b) 3))
19.0b
(-.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)))
38.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
25.4b
(-.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
19.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)))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (/.f64 (*.f64 z t) 3))))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.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)))
18.4b
(-.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)))
19.5b
(-.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.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
Compiler

Compiled 5814 to 3778 computations (35% saved)

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

series41.0ms (0.2%)

Counts
2 → 61
Calls

2 calls:

35.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 a b) 3))
6.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)

simplify144.0ms (0.9%)

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

prune919.0ms (5.5%)

Pruning

30 alts after pruning (30 fresh and 0 done)

PrunedKeptTotal
New3076313
Fresh62430
Picked101
Done000
Total31430344
Error
12.2b
Counts
344 → 30
Alt Table
StatusErrorProgram
44.4b
(*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x)))
19.5b
(-.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.5b
(-.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)))
33.7b
(*.f64 -1/3 (/.f64 a b))
30.5b
(/.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)))
18.9b
(-.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)))
45.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
16.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 (/.f64 a b) (sqrt.f64 3)) (sqrt.f64 3)))
45.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
18.9b
(-.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)))
24.3b
(-.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 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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
40.9b
(/.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)))))
15.9b
(-.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)))
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)))
24.4b
(-.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)))
16.1b
(-.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.0b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (/.f64 a b) 3))
15.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
33.6b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 (/.f64 a b) 3))
19.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)))
26.3b
(-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 (/.f64 a b) 3))
19.0b
(-.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)))
38.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
19.4b
(-.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)))
25.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))) (/.f64 (/.f64 a b) 3))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (/.f64 (*.f64 z t) 3))))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.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.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)))
18.4b
(-.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)))
19.5b
(-.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.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
Compiler

Compiled 12298 to 6897 computations (43.9% saved)

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

series46.0ms (0.3%)

Counts
2 → 61
Calls

2 calls:

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

rewrite18.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
33×add-sqr-sqrt_binary64
25×times-frac_binary64
24×add-exp-log_binary64
18×*-un-lft-identity_binary64
16×add-cube-cbrt_binary64
Counts
2 → 74
Calls

2 calls:

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

simplify100.0ms (0.6%)

Algorithm
egg-herbie
Rules
521×fma-neg_binary64
420×associate-*l/_binary64
394×fma-def_binary64
364×cancel-sign-sub-inv_binary64
356×associate-*r/_binary64
Counts
135 → 136
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01652036
14261869
213831809
338391805
449461805
549621805

prune496.0ms (2.9%)

Pruning

30 alts after pruning (29 fresh and 1 done)

PrunedKeptTotal
New1710171
Fresh02929
Picked011
Done000
Total17130201
Error
12.2b
Counts
201 → 30
Alt Table
StatusErrorProgram
44.4b
(*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x)))
19.5b
(-.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.5b
(-.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)))
33.7b
(*.f64 -1/3 (/.f64 a b))
30.5b
(/.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)))
18.9b
(-.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)))
45.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
16.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (/.f64 (/.f64 a b) (sqrt.f64 3)) (sqrt.f64 3)))
45.4b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 (sqrt.f64 y) (sqrt.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 (sqrt.f64 y) (sqrt.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)))
18.9b
(-.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)))
24.3b
(-.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 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 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (cbrt.f64 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)))
40.9b
(/.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)))))
15.9b
(-.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)))
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)))
24.4b
(-.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)))
16.1b
(-.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.0b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (/.f64 a b) 3))
15.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
33.6b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 (/.f64 a b) 3))
19.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)))
26.3b
(-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 (/.f64 a b) 3))
19.0b
(-.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)))
38.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
19.4b
(-.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)))
25.3b
(-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y))) (/.f64 (/.f64 a b) 3))
19.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (cbrt.f64 (/.f64 (*.f64 z t) 3)))) (cbrt.f64 (/.f64 (*.f64 z t) 3))))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (neg.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.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)))
18.4b
(-.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)))
19.5b
(-.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.3b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (fma.f64 1 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 1 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)))
Compiler

Compiled 5284 to 3351 computations (36.6% saved)

regimes7.1s (41.8%)

Accuracy

Total 2.5b remaining (16.7%)

Threshold costs 0b (0%)

Counts
184 → 3
Compiler

Compiled 123412 to 90674 computations (26.5% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify9.0ms (0.1%)

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
046141
181141
2115141
3148141
4162141
5166141
6164141

end838.0ms (5%)

Remove

(sort z t)

Compiler

Compiled 2014 to 1447 computations (28.2% saved)

Profiling

Loading profile data...