Details

Time bar (total: 14.0s)

analyze1.6s (11.6%)

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.9s (34.9%)

Symmetry

(sort z t)

Results
1.5s1763×body1024valid
1.0s751×body2048valid
987.0ms4637×body128valid
696.0ms3465×body128invalid
411.0ms772×body512valid
119.0ms329×body256valid
14.0msbody4096valid
Compiler

Compiled 77 to 59 computations (23.4% saved)

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

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
23.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
23.8b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
23.7b
(-.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)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series63.0ms (0.5%)

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)))
7.0ms
(/.f64 a (*.f64 b 3))
4.0ms
(/.f64 (*.f64 z t) 3)

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
199×add-sqr-sqrt_binary64
188×log1p-expm1-u_binary64
188×expm1-log1p-u_binary64
186×add-log-exp_binary64
185×add-exp-log_binary64
Counts
4 → 111
Calls

4 calls:

43.0ms
(/.f64 a (*.f64 b 3))
43.0ms
(/.f64 (*.f64 z t) 3)
43.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))
43.0ms
(cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01846
139246
2488046
000
100

simplify96.0ms (0.7%)

Algorithm
egg-herbie
Rules
769×distribute-rgt-neg-in_binary64
696×associate-*l*_binary64
521×neg-mul-1_binary64
410×fma-def_binary64
392×cancel-sign-sub-inv_binary64
Counts
231 → 148
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0911991
13071933
29611770
331441770
446471770
550061770

prune315.0ms (2.3%)

Pruning

28 alts after pruning (28 fresh and 0 done)

PrunedKeptTotal
New12028148
Fresh101
Picked101
Done000
Total12228150
Error
18.4b
Counts
150 → 28
Alt Table
StatusErrorProgram
23.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 (cbrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 3))) (/.f64 a (*.f64 b 3)))
23.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))))) (/.f64 a (*.f64 b 3)))
27.7b
(-.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)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 1 b) (/.f64 a 3)))
26.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3)))
20.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (pow.f64 (/.f64 (*.f64 3 b) a) -1))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
24.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (cbrt.f64 (/.f64 a (*.f64 3 b))) (pow.f64 (cbrt.f64 (/.f64 a (*.f64 3 b))) 2)))
26.7b
(-.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2) (*.f64 x 4))) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
29.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
30.3b
(-.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)))
40.0b
(-.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) 3) 1/3) (/.f64 a (*.f64 b 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 3)))) (/.f64 a (*.f64 b 3)))
35.8b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))))) 1) (/.f64 a (*.f64 b 3)))
23.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (*.f64 z t) -1/3))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (*.f64 z t) -1/3))))) (/.f64 a (*.f64 b 3)))
37.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3)))
22.9b
(-.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)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 1)) (/.f64 a (*.f64 b 3)))
24.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) 1) (/.f64 (cbrt.f64 a) (*.f64 3 b))))
41.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (sqrt.f64 (*.f64 z t)) (*.f64 (sqrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
24.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) b) (/.f64 (cbrt.f64 a) 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 2))))) (/.f64 a (*.f64 b 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 z (/.f64 1 (/.f64 3 t)))))) (/.f64 a (*.f64 b 3)))
31.3b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) 3)) (/.f64 a (*.f64 b 3)))
23.7b
(-.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)))
Compiler

Compiled 5777 to 3692 computations (36.1% 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))

series47.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)))
14.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))

rewrite77.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
344×fma-def_binary64
266×expm1-udef_binary64
266×log1p-udef_binary64
185×fma-neg_binary64
148×add-sqr-sqrt_binary64
Counts
2 → 130
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01431
129831
2372731
3497131
000
100

simplify114.0ms (0.8%)

Algorithm
egg-herbie
Rules
718×distribute-rgt-neg-in_binary64
472×cancel-sign-sub-inv_binary64
432×associate-*l*_binary64
428×fma-neg_binary64
379×associate-*r*_binary64
Counts
179 → 150
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
041871
1119801
2318775
3913771
43073771
54457771
65000771
74968771

prune462.0ms (3.3%)

Pruning

38 alts after pruning (38 fresh and 0 done)

PrunedKeptTotal
New17218190
Fresh72027
Picked101
Done000
Total18038218
Error
18.2b
Counts
218 → 38
Alt Table
StatusErrorProgram
37.2b
(*.f64 -1/3 (/.f64 a b))
23.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))))) (/.f64 a (*.f64 b 3)))
27.7b
(-.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)))
38.6b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 z (/.f64 1 (/.f64 3 t)))))) (/.f64 a (*.f64 b 3)))
21.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (/.f64 (*.f64 3 b) a) -1))
33.3b
(-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
42.5b
(fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (/.f64 1 (fma.f64 (/.f64 a (*.f64 b 3)) (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 a (*.f64 b 3))) (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2)))) (fma.f64 (neg.f64 (/.f64 1/3 b)) a (/.f64 a (*.f64 b 3))))
61.5b
(log.f64 (exp.f64 (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3)))))
28.8b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3)) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) (*.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) (cos.f64 y)) (neg.f64 (/.f64 a (*.f64 b 3))))
26.7b
(-.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2) (*.f64 x 4))) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
29.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 2 (sqrt.f64 x))) (neg.f64 (/.f64 a (*.f64 b 3))))
24.3b
(-.f64 (sqrt.f64 (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2))) (/.f64 a (*.f64 b 3)))
21.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
21.0b
(fma.f64 (cbrt.f64 (*.f64 x 4)) (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cos.f64 y)) (neg.f64 (/.f64 a (*.f64 b 3))))
51.9b
(pow.f64 (pow.f64 (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) 3) 1/3)
30.3b
(-.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)))
40.0b
(-.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) 3) 1/3) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
21.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 3) (/.f64 a (*.f64 b 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 3)))) (/.f64 a (*.f64 b 3)))
35.8b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))))) 1) (/.f64 a (*.f64 b 3)))
23.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (*.f64 z t) -1/3))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (*.f64 z t) -1/3))))) (/.f64 a (*.f64 b 3)))
37.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3)))
22.9b
(-.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)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 1)) (/.f64 a (*.f64 b 3)))
33.7b
(*.f64 (-.f64 (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2)) (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (/.f64 1 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 a (*.f64 b 3)))))
24.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) b) (/.f64 (cbrt.f64 a) 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 2))))) (/.f64 a (*.f64 b 3)))
23.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 (cbrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
26.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3)))
26.9b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
32.5b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) 1) (/.f64 a (*.f64 b 3)))
41.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (sqrt.f64 (*.f64 z t)) (*.f64 (sqrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
Compiler

Compiled 6760 to 4437 computations (34.4% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
0.2b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))
0.3b
(/.f64 1/3 b)

series37.0ms (0.3%)

Counts
2 → 37
Calls

2 calls:

34.0ms
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
3.0ms
(/.f64 1/3 b)

rewrite60.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
625×log-prod_binary64
275×prod-diff_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
212×log-pow_binary64
Counts
2 → 69
Calls

2 calls:

59.0ms
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
59.0ms
(/.f64 1/3 b)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01422
129022
2312322
3566922
000
100

simplify81.0ms (0.6%)

Algorithm
egg-herbie
Rules
657×distribute-rgt-neg-in_binary64
598×distribute-lft-neg-in_binary64
486×fma-def_binary64
405×neg-mul-1_binary64
391×associate-*l*_binary64
Counts
106 → 82
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037704
199641
2250629
3718622
42773622
54789622
65119622

prune238.0ms (1.7%)

Pruning

37 alts after pruning (36 fresh and 1 done)

PrunedKeptTotal
New1023105
Fresh43337
Picked011
Done000
Total10637143
Error
18.2b
Counts
143 → 37
Alt Table
StatusErrorProgram
37.2b
(*.f64 -1/3 (/.f64 a b))
23.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))))) (/.f64 a (*.f64 b 3)))
27.7b
(-.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)))
38.6b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 z (/.f64 1 (/.f64 3 t)))))) (/.f64 a (*.f64 b 3)))
26.9b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
46.7b
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 x)) (cos.f64 y))))
62.1b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (cbrt.f64 (exp.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))))
21.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (/.f64 (*.f64 3 b) a) -1))
33.3b
(-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
28.8b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3)) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) (*.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) (cos.f64 y)) (neg.f64 (/.f64 a (*.f64 b 3))))
26.7b
(-.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2) (*.f64 x 4))) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
29.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
21.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (/.f64 1 b) (/.f64 a 3)))
21.0b
(fma.f64 (cbrt.f64 (*.f64 x 4)) (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cos.f64 y)) (neg.f64 (/.f64 a (*.f64 b 3))))
51.9b
(pow.f64 (pow.f64 (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) 3) 1/3)
30.3b
(-.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)))
40.0b
(-.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) 3) 1/3) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
21.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 3) (/.f64 a (*.f64 b 3)))
35.8b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))))) 1) (/.f64 a (*.f64 b 3)))
23.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (*.f64 z t) -1/3))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (*.f64 z t) -1/3))))) (/.f64 a (*.f64 b 3)))
37.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3)))
22.9b
(-.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)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 1)) (/.f64 a (*.f64 b 3)))
41.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (sqrt.f64 (*.f64 z t)) (*.f64 (sqrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
44.8b
(sqrt.f64 (pow.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2))
33.7b
(*.f64 (-.f64 (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2)) (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (/.f64 1 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 a (*.f64 b 3)))))
24.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) b) (/.f64 (cbrt.f64 a) 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 2))))) (/.f64 a (*.f64 b 3)))
23.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 (cbrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
26.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3)))
42.5b
(fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (/.f64 1 (fma.f64 (/.f64 a (*.f64 b 3)) (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 a (*.f64 b 3))) (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2)))) (fma.f64 (neg.f64 (/.f64 1/3 b)) a (/.f64 a (*.f64 b 3))))
21.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 2 (sqrt.f64 x))) (neg.f64 (/.f64 a (*.f64 b 3))))
Compiler

Compiled 4143 to 2814 computations (32.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series70.0ms (0.5%)

Counts
3 → 85
Calls

3 calls:

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

rewrite75.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
292×expm1-udef_binary64
292×log1p-udef_binary64
191×fma-neg_binary64
166×add-sqr-sqrt_binary64
158×log1p-expm1-u_binary64
Counts
3 → 149
Calls

3 calls:

72.0ms
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (/.f64 (*.f64 3 b) a) -1))
72.0ms
(/.f64 (*.f64 3 b) a)
72.0ms
(pow.f64 (/.f64 (*.f64 3 b) a) -1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
133934
2407434
3503034
000
100

simplify91.0ms (0.7%)

Algorithm
egg-herbie
Rules
657×distribute-rgt-neg-in_binary64
598×distribute-lft-neg-in_binary64
486×fma-def_binary64
405×neg-mul-1_binary64
391×associate-*l*_binary64
Counts
234 → 163
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0401040
1104977
2256965
3728958
42784958
54800958
65130958

prune405.0ms (2.9%)

Pruning

36 alts after pruning (35 fresh and 1 done)

PrunedKeptTotal
New1851186
Fresh13435
Picked101
Done011
Total18736223
Error
18.2b
Counts
223 → 36
Alt Table
StatusErrorProgram
37.2b
(*.f64 -1/3 (/.f64 a b))
23.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (+.f64 1 (expm1.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))))) (/.f64 a (*.f64 b 3)))
27.7b
(-.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)))
38.6b
(-.f64 (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))) (/.f64 a (*.f64 b 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 z (/.f64 1 (/.f64 3 t)))))) (/.f64 a (*.f64 b 3)))
21.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (pow.f64 (*.f64 (/.f64 3 a) b) -1))
62.1b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (cbrt.f64 (exp.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))))
26.9b
(-.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 a (*.f64 b 3)))
46.7b
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (log.f64 (pow.f64 (pow.f64 (exp.f64 2) (sqrt.f64 x)) (cos.f64 y))))
28.8b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3)) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (-.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))))) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) (*.f64 (sqrt.f64 (*.f64 2 (sqrt.f64 x))) (cos.f64 y)) (neg.f64 (/.f64 a (*.f64 b 3))))
26.7b
(-.f64 (sqrt.f64 (*.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2) (*.f64 x 4))) (/.f64 a (*.f64 b 3)))
22.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) 3) (pow.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) 3)) (+.f64 (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3)))) (-.f64 (*.f64 (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))) (*.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (*.f64 z t) 3))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (*.f64 z t) 3)))))))) (/.f64 a (*.f64 b 3)))
29.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 (cbrt.f64 (*.f64 x 4)) (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cos.f64 y)) (neg.f64 (/.f64 a (*.f64 b 3))))
51.9b
(pow.f64 (pow.f64 (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 a (*.f64 b 3))) 3) 1/3)
30.3b
(-.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)))
40.0b
(-.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))) 3) 1/3) (/.f64 a (*.f64 b 3)))
21.0b
(fma.f64 a (neg.f64 (/.f64 1/3 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
21.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 3) (/.f64 a (*.f64 b 3)))
35.8b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) (*.f64 2 (sqrt.f64 x))))) 1) (/.f64 a (*.f64 b 3)))
23.0b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 (*.f64 z t) -1/3))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 (*.f64 z t) -1/3))))) (/.f64 a (*.f64 b 3)))
37.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (pow.f64 (/.f64 (pow.f64 (*.f64 z t) 3) 27) 1/3)))) (/.f64 a (*.f64 b 3)))
22.9b
(-.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)))
23.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (exp.f64 (log1p.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))))) 1)) (/.f64 a (*.f64 b 3)))
41.2b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (sqrt.f64 (*.f64 z t)) (*.f64 (sqrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
44.8b
(sqrt.f64 (pow.f64 (fma.f64 (/.f64 1/3 b) a (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) 2))
33.7b
(*.f64 (-.f64 (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2)) (pow.f64 (/.f64 a (*.f64 b 3)) 2)) (/.f64 1 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 a (*.f64 b 3)))))
24.1b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 a) 2) b) (/.f64 (cbrt.f64 a) 3)))
23.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 z t) 3)) 2))))) (/.f64 a (*.f64 b 3)))
23.5b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (*.f64 (pow.f64 (cbrt.f64 (*.f64 z t)) 2) (*.f64 (cbrt.f64 (*.f64 z t)) 1/3))))) (/.f64 a (*.f64 b 3)))
26.7b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (pow.f64 (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3))) 2))) (/.f64 a (*.f64 b 3)))
33.3b
(-.f64 (exp.f64 (log.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (/.f64 a (*.f64 b 3)))
42.5b
(fma.f64 (-.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 a (*.f64 b 3)) 3)) (/.f64 1 (fma.f64 (/.f64 a (*.f64 b 3)) (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 a (*.f64 b 3))) (*.f64 (*.f64 x 4) (pow.f64 (cos.f64 y) 2)))) (fma.f64 (neg.f64 (/.f64 1/3 b)) a (/.f64 a (*.f64 b 3))))
21.0b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 2 (sqrt.f64 x))) (neg.f64 (/.f64 a (*.f64 b 3))))
Compiler

Compiled 4788 to 3089 computations (35.5% saved)

regimes4.1s (29.1%)

Accuracy

Total 1.8b remaining (10.4%)

Threshold costs 0b (0%)

Counts
175 → 3
Compiler

Compiled 78260 to 59950 computations (23.4% saved)

bsearch8.0ms (0.1%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
036137
152137
257137
360137
461137
561137

end997.0ms (7.2%)

Remove

(sort z t)

Compiler

Compiled 1505 to 1070 computations (28.9% saved)

Profiling

Loading profile data...