Details

Time bar (total: 14.7s)

analyze1.7s (11.4%)

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.4s (30%)

Symmetry

(sort z t)

Results
1.3s1663×body1024valid
978.0ms4813×body128valid
836.0ms733×body2048valid
662.0ms3457×body128invalid
371.0ms695×body512valid
121.0ms349×body256valid
7.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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
0.3b
(/.f64 -1/3 b)
0.4b
(*.f64 t -1/3)
22.6b
(cos.f64 (fma.f64 z (*.f64 t -1/3) y))

series53.0ms (0.4%)

Counts
4 → 84
Calls

4 calls:

40.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
10.0ms
(cos.f64 (fma.f64 z (*.f64 t -1/3) y))
1.0ms
(*.f64 t -1/3)
1.0ms
(/.f64 -1/3 b)

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64
15×*-un-lft-identity_binary64
15×add-cube-cbrt_binary64
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
Counts
4 → 79
Calls

4 calls:

5.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
3.0ms
(*.f64 t -1/3)
2.0ms
(/.f64 -1/3 b)
1.0ms
(cos.f64 (fma.f64 z (*.f64 t -1/3) y))

simplify145.0ms (1%)

Algorithm
egg-herbie
Rules
786×fma-neg_binary64
414×fma-def_binary64
405×distribute-rgt-neg-in_binary64
387×cancel-sign-sub-inv_binary64
371×distribute-lft-neg-in_binary64
Counts
163 → 133
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02132679
15212489
215812422
330432410
446872408
549812408
649382408

prune225.0ms (1.5%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New11419133
Fresh011
Picked101
Done000
Total11520135
Error
13.8b
Counts
135 → 20
Alt Table
StatusErrorProgram
19.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
36.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 y (sin.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 (*.f64 1/3 (*.f64 t z))))))
27.1b
(fma.f64 a (/.f64 -1/3 b) (expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
31.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
19.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
20.2b
(fma.f64 a (/.f64 (/.f64 -1/3 (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (cbrt.f64 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
28.5b
(fma.f64 a (/.f64 -1/3 b) (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 z (*.f64 t -1/3)))))))
34.4b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (sqrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (sqrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))))
20.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
16.3b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
35.7b
(fma.f64 a (cbrt.f64 (*.f64 (*.f64 (/.f64 -1/3 b) (/.f64 -1/3 b)) (/.f64 -1/3 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
25.2b
(fma.f64 a (/.f64 -1/3 b) (+.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (*.f64 2/3 (*.f64 (*.f64 (sin.f64 y) (*.f64 t z)) (sqrt.f64 x)))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 t (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3))) (cbrt.f64 -1/3)) y))))
20.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 (*.f64 t -1/3)) (cbrt.f64 (*.f64 t -1/3))) (cbrt.f64 (*.f64 t -1/3))) y))))
20.2b
(fma.f64 a (*.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 b)) (cbrt.f64 (/.f64 -1/3 b))) (cbrt.f64 (/.f64 -1/3 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
54.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (exp.f64 (log.f64 (*.f64 t -1/3))) y))))
Compiler

Compiled 4653 to 2951 computations (36.6% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (/.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)

series53.0ms (0.4%)

Counts
2 → 49
Calls

2 calls:

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

rewrite6.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
Counts
2 → 30
Calls

2 calls:

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

simplify94.0ms (0.6%)

Algorithm
egg-herbie
Rules
640×fma-def_binary64
549×cancel-sign-sub-inv_binary64
370×sub-neg_binary64
327×fma-neg_binary64
256×*-commutative_binary64
Counts
79 → 65
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0901413
12211267
27101241
314131237
432351237
545001237
649191237

prune184.0ms (1.3%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New861298
Fresh51419
Picked101
Done000
Total9226118
Error
13.4b
Counts
118 → 26
Alt Table
StatusErrorProgram
31.7b
(expm1.f64 (log1p.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 t (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3))) (cbrt.f64 -1/3)) y))))
19.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
36.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 y (sin.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 (*.f64 1/3 (*.f64 t z))))))
34.4b
(fma.f64 a (cbrt.f64 (pow.f64 (/.f64 -1/3 b) 3)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
16.3b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
20.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
27.1b
(fma.f64 a (/.f64 -1/3 b) (expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
16.7b
(fma.f64 a (*.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 b)) (cbrt.f64 (/.f64 -1/3 b))) (cbrt.f64 (/.f64 -1/3 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
41.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))))
31.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
39.4b
(fma.f64 a (/.f64 (/.f64 -1/3 (sqrt.f64 b)) (sqrt.f64 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 (*.f64 t -1/3)) (cbrt.f64 (*.f64 t -1/3))) (cbrt.f64 (*.f64 t -1/3))) y))))
19.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
29.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
28.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 2 (sqrt.f64 x)))
28.5b
(fma.f64 a (/.f64 -1/3 b) (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 z (*.f64 t -1/3)))))))
25.2b
(fma.f64 a (/.f64 -1/3 b) (+.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (*.f64 2/3 (*.f64 (*.f64 (sin.f64 y) (*.f64 t z)) (sqrt.f64 x)))))
37.4b
(*.f64 -1/3 (/.f64 a b))
16.6b
(fma.f64 a (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3)) (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (/.f64 (cbrt.f64 -1/3) (cbrt.f64 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
16.6b
(fma.f64 a (/.f64 -1/3 b) (*.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)))))
19.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
61.6b
(log.f64 (exp.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
54.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (exp.f64 (log.f64 (*.f64 t -1/3))) y))))
Compiler

Compiled 3154 to 1995 computations (36.7% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series35.0ms (0.2%)

Counts
2 → 49
Calls

2 calls:

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

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt_binary64
13×associate-*r*_binary64
11×times-frac_binary64
11×*-un-lft-identity_binary64
11×add-exp-log_binary64
Counts
2 → 48
Calls

2 calls:

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

simplify110.0ms (0.7%)

Algorithm
egg-herbie
Rules
659×fma-def_binary64
378×cancel-sign-sub-inv_binary64
315×fma-neg_binary64
309×sub-neg_binary64
260×*-commutative_binary64
Counts
97 → 86
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01061302
12251157
24811145
312961138
436671138
546421138
649931138
749361138

prune196.0ms (1.3%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New1210121
Fresh02525
Picked011
Done000
Total12126147
Error
13.4b
Counts
147 → 26
Alt Table
StatusErrorProgram
31.7b
(expm1.f64 (log1p.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 t (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3))) (cbrt.f64 -1/3)) y))))
19.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
36.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 y (sin.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 (*.f64 1/3 (*.f64 t z))))))
34.4b
(fma.f64 a (cbrt.f64 (pow.f64 (/.f64 -1/3 b) 3)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
16.3b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
20.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
27.1b
(fma.f64 a (/.f64 -1/3 b) (expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
16.7b
(fma.f64 a (*.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 b)) (cbrt.f64 (/.f64 -1/3 b))) (cbrt.f64 (/.f64 -1/3 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
41.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))))
31.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
39.4b
(fma.f64 a (/.f64 (/.f64 -1/3 (sqrt.f64 b)) (sqrt.f64 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 (*.f64 t -1/3)) (cbrt.f64 (*.f64 t -1/3))) (cbrt.f64 (*.f64 t -1/3))) y))))
19.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
29.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (sqrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
28.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 2 (sqrt.f64 x)))
28.5b
(fma.f64 a (/.f64 -1/3 b) (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 z (*.f64 t -1/3)))))))
25.2b
(fma.f64 a (/.f64 -1/3 b) (+.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (*.f64 2/3 (*.f64 (*.f64 (sin.f64 y) (*.f64 t z)) (sqrt.f64 x)))))
37.4b
(*.f64 -1/3 (/.f64 a b))
16.6b
(fma.f64 a (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3)) (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (/.f64 (cbrt.f64 -1/3) (cbrt.f64 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
16.6b
(fma.f64 a (/.f64 -1/3 b) (*.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)))))
19.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
61.6b
(log.f64 (exp.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
54.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (exp.f64 (log.f64 (*.f64 t -1/3))) y))))
Compiler

Compiled 3742 to 2410 computations (35.6% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series1.1s (7.7%)

Counts
3 → 52
Calls

3 calls:

592.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))
502.0ms
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
31.0ms
(*.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))))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
16×pow1/3_binary64
11×pow-prod-up_binary64
11×add-sqr-sqrt_binary64
10×add-exp-log_binary64
Counts
3 → 79
Calls

3 calls:

9.0ms
(*.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))))
5.0ms
(*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))
3.0ms
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))

simplify91.0ms (0.6%)

Algorithm
egg-herbie
Rules
758×fma-neg_binary64
608×unswap-sqr_binary64
446×*-commutative_binary64
361×fma-def_binary64
278×cancel-sign-sub-inv_binary64
Counts
131 → 139
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01492762
13642420
212662108
329811978
450571978

prune417.0ms (2.8%)

Pruning

32 alts after pruning (31 fresh and 1 done)

PrunedKeptTotal
New21610226
Fresh32124
Picked101
Done011
Total22032252
Error
13.3b
Counts
252 → 32
Alt Table
StatusErrorProgram
34.1b
(fma.f64 a (/.f64 -1/3 b) (pow.f64 (*.f64 8 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 x)) 3)) 1/3))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 t (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3))) (cbrt.f64 -1/3)) y))))
19.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
36.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (fma.f64 y (sin.f64 (*.f64 1/3 (*.f64 t z))) (cos.f64 (*.f64 1/3 (*.f64 t z))))))
34.4b
(fma.f64 a (cbrt.f64 (pow.f64 (/.f64 -1/3 b) 3)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
16.3b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
20.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
27.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 2) (cbrt.f64 x)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
27.1b
(fma.f64 a (/.f64 -1/3 b) (expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
16.7b
(fma.f64 a (*.f64 (*.f64 (cbrt.f64 (/.f64 -1/3 b)) (cbrt.f64 (/.f64 -1/3 b))) (cbrt.f64 (/.f64 -1/3 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
31.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
39.4b
(fma.f64 a (/.f64 (/.f64 -1/3 (sqrt.f64 b)) (sqrt.f64 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 (*.f64 t -1/3)) (cbrt.f64 (*.f64 t -1/3))) (cbrt.f64 (*.f64 t -1/3))) y))))
17.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (exp.f64 (*.f64 1/3 (+.f64 (log.f64 x) (log.f64 (pow.f64 (cos.f64 y) 2))))) (pow.f64 (cbrt.f64 2) 2)) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.9b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
28.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 2 (sqrt.f64 x)))
41.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (*.f64 (+.f64 (*.f64 (*.f64 y y) -1/6) 1) (*.f64 (cbrt.f64 2) (pow.f64 x 1/6)))))
17.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (pow.f64 (*.f64 4 (*.f64 x (pow.f64 (cos.f64 y) 2))) 1/3) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 y) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 (sin.f64 y) (sin.f64 (*.f64 z (*.f64 t -1/3)))))))
28.5b
(fma.f64 a (/.f64 -1/3 b) (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 2 (sqrt.f64 x))) (*.f64 2 (sqrt.f64 x))) (*.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
16.6b
(fma.f64 a (*.f64 (/.f64 (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3)) (*.f64 (cbrt.f64 b) (cbrt.f64 b))) (/.f64 (cbrt.f64 -1/3) (cbrt.f64 b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
16.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (*.f64 2 (sqrt.f64 x)))) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (expm1.f64 (log1p.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
28.4b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (*.f64 (cbrt.f64 2) (pow.f64 x 1/6))))
54.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (exp.f64 (log.f64 (*.f64 t -1/3))) y))))
30.5b
(fma.f64 a (/.f64 -1/3 b) (exp.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))) (log.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))))
16.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (*.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 x))) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
25.2b
(fma.f64 a (/.f64 -1/3 b) (+.f64 (*.f64 2 (*.f64 (cos.f64 y) (sqrt.f64 x))) (*.f64 2/3 (*.f64 (*.f64 (sin.f64 y) (*.f64 t z)) (sqrt.f64 x)))))
37.4b
(*.f64 -1/3 (/.f64 a b))
17.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) (*.f64 2 (sqrt.f64 x))))) 8) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))))))
61.6b
(log.f64 (exp.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
Compiler

Compiled 8922 to 5486 computations (38.5% saved)

regimes5.0s (33.9%)

Accuracy

Total 1.8b remaining (11.1%)

Threshold costs 0b (0%)

Counts
169 → 3
Compiler

Compiled 90807 to 66546 computations (26.7% saved)

bsearch8.0ms (0.1%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
043110
158110
268110
374110
478110
579110
679110

end698.0ms (4.8%)

Remove

(sort z t)

Compiler

Compiled 1253 to 910 computations (27.4% saved)

Profiling

Loading profile data...