Details

Time bar (total: 12.9s)

analyze1.4s (10.7%)

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)

sample183.0ms (1.4%)

Algorithm
intervals
Symmetry

(sort z t)

Results
23.0ms53×body1024valid
20.0ms26×body2048valid
17.0ms143×body128valid
10.0ms75×body128nan
7.0ms24×body512valid
3.0ms32×body128invalid
2.0msbody256valid
1.0msbody4096valid
Compiler

Compiled 57 to 45 computations (21.1% saved)

simplify62.0ms (0.5%)

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

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize13.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.4b
(/.f64 -1/3 b)
0.4b
(*.f64 t -1/3)
26.8b
(cos.f64 (fma.f64 z (*.f64 t -1/3) y))

series58.0ms (0.4%)

Counts
4 → 84
Calls

4 calls:

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

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

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

simplify146.0ms (1.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

prune222.0ms (1.7%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New11122133
Fresh011
Picked101
Done000
Total11223135
Error
14.8b
Counts
135 → 23
Alt Table
StatusErrorProgram
19.7b
(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.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(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)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
49.6b
(fma.f64 a (/.f64 -1/3 b) (log.f64 (exp.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)) (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))))
36.8b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (log.f64 (exp.f64 (*.f64 t -1/3))) y))))
28.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
19.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
19.7b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
19.7b
(fma.f64 a (/.f64 1 (/.f64 b -1/3)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
34.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (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.0b
(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))))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
17.8b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
19.0b
(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)))))))
19.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 z (*.f64 t -1/3))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))))
19.8b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.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)))))
35.4b
(fma.f64 a (/.f64 -1/3 b) (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
29.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (cbrt.f64 (*.f64 (*.f64 (*.f64 t -1/3) (*.f64 t -1/3)) (*.f64 t -1/3))) y))))
19.8b
(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)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
34.9b
(fma.f64 a (cbrt.f64 (/.f64 (*.f64 (*.f64 -1/3 -1/3) -1/3) (*.f64 (*.f64 b b) b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))
Compiler

Compiled 4793 to 3073 computations (35.9% saved)

localize9.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.4b
(/.f64 -1/3 b)

series47.0ms (0.4%)

Counts
2 → 49
Calls

2 calls:

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

rewrite9.0ms (0.1%)

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:

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

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

prune198.0ms (1.5%)

Pruning

27 alts after pruning (27 fresh and 0 done)

PrunedKeptTotal
New861298
Fresh71522
Picked101
Done000
Total9427121
Error
14.4b
Counts
121 → 27
Alt Table
StatusErrorProgram
26.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 2 (sqrt.f64 x)))
19.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 z (*.f64 t -1/3))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))))
17.8b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
17.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (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 t (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3))) (cbrt.f64 -1/3)) y))))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(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)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
35.1b
(*.f64 (sqrt.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (sqrt.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.9b
(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))))
37.2b
(exp.f64 (log.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
29.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (cbrt.f64 (*.f64 (*.f64 (*.f64 t -1/3) (*.f64 t -1/3)) (*.f64 t -1/3))) y))))
62.3b
(log.f64 (exp.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
28.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
18.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 y)))
34.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (sqrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
37.1b
(*.f64 -1/3 (/.f64 a b))
19.8b
(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))))))
33.4b
(fma.f64 a (cbrt.f64 (/.f64 (*.f64 (*.f64 -1/3 -1/3) -1/3) (*.f64 (*.f64 b b) b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
33.1b
(expm1.f64 (log1p.f64 (fma.f64 a (/.f64 -1/3 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)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
35.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.0b
(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)))))))
18.2b
(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)))))
35.4b
(fma.f64 a (/.f64 -1/3 b) (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
Compiler

Compiled 3248 to 2065 computations (36.4% saved)

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

series37.0ms (0.3%)

Counts
2 → 49
Calls

2 calls:

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

rewrite12.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))
0.0ms
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))

simplify121.0ms (0.9%)

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

prune208.0ms (1.6%)

Pruning

27 alts after pruning (26 fresh and 1 done)

PrunedKeptTotal
New1210121
Fresh02626
Picked011
Done000
Total12127148
Error
14.4b
Counts
148 → 27
Alt Table
StatusErrorProgram
26.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 2 (sqrt.f64 x)))
19.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 z (*.f64 t -1/3))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))))
17.8b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
17.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (cbrt.f64 (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 t (*.f64 (cbrt.f64 -1/3) (cbrt.f64 -1/3))) (cbrt.f64 -1/3)) y))))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
20.0b
(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)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
35.1b
(*.f64 (sqrt.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (sqrt.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.9b
(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))))
37.2b
(exp.f64 (log.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
29.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (cbrt.f64 (*.f64 (*.f64 (*.f64 t -1/3) (*.f64 t -1/3)) (*.f64 t -1/3))) y))))
62.3b
(log.f64 (exp.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
28.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
18.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 y)))
34.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (sqrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (sqrt.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
37.1b
(*.f64 -1/3 (/.f64 a b))
19.8b
(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))))))
33.4b
(fma.f64 a (cbrt.f64 (/.f64 (*.f64 (*.f64 -1/3 -1/3) -1/3) (*.f64 (*.f64 b b) b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
33.1b
(expm1.f64 (log1p.f64 (fma.f64 a (/.f64 -1/3 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)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
35.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y))))
19.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.0b
(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)))))))
18.2b
(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)))))
35.4b
(fma.f64 a (/.f64 -1/3 b) (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
Compiler

Compiled 3836 to 2480 computations (35.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series664.0ms (5.1%)

Counts
3 → 36
Calls

3 calls:

250.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y))))
242.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
171.0ms
(cbrt.f64 (cos.f64 y))

rewrite28.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
22×pow1_binary64
20×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
17×add-exp-log_binary64
12×*-un-lft-identity_binary64
Counts
3 → 79
Calls

3 calls:

19.0ms
(*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y))))
5.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
1.0ms
(cbrt.f64 (cos.f64 y))

simplify113.0ms (0.9%)

Algorithm
egg-herbie
Rules
505×sub-neg_binary64
427×unswap-sqr_binary64
406×*-commutative_binary64
369×fma-neg_binary64
322×log-prod_binary64
Counts
115 → 122
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01311618
13001343
210401267
320651249
445011129
545021129
650861129

prune455.0ms (3.5%)

Pruning

31 alts after pruning (30 fresh and 1 done)

PrunedKeptTotal
New1929201
Fresh42125
Picked101
Done011
Total19731228
Error
14.4b
Counts
228 → 31
Alt Table
StatusErrorProgram
35.6b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) (fma.f64 (*.f64 y y) -1/6 1)))
17.8b
(fma.f64 a (*.f64 -1/3 (/.f64 1 b)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
26.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 2 (sqrt.f64 x)))
19.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (-.f64 (*.f64 (cos.f64 (*.f64 z (*.f64 t -1/3))) (cos.f64 y)) (*.f64 (sin.f64 (*.f64 z (*.f64 t -1/3))) (sin.f64 y)))))
19.7b
(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.7b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
17.9b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (exp.f64 (log.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))))) (cbrt.f64 (cos.f64 y))))
26.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) 1)) (cbrt.f64 (cos.f64 y))))
26.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))) 1))
20.0b
(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)) (cos.f64 (fma.f64 z (*.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t)) (*.f64 (cbrt.f64 t) -1/3)) y))))
18.2b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.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)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))))) (cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))))) (cbrt.f64 (cos.f64 y))))
35.1b
(*.f64 (sqrt.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))) (sqrt.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
19.9b
(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))))
29.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (cbrt.f64 (*.f64 8 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 x (sqrt.f64 x))))) (cbrt.f64 (cos.f64 y))))
35.4b
(fma.f64 a (/.f64 -1/3 b) (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))
19.4b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (exp.f64 (+.f64 (log.f64 (*.f64 2 (sqrt.f64 x))) (log.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))))) (cbrt.f64 (cos.f64 y))))
37.2b
(exp.f64 (log.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
29.1b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (fma.f64 z (cbrt.f64 (*.f64 (*.f64 (*.f64 t -1/3) (*.f64 t -1/3)) (*.f64 t -1/3))) y))))
62.3b
(log.f64 (exp.f64 (fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))))
28.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (*.f64 1/3 (*.f64 t z)))))
37.1b
(*.f64 -1/3 (/.f64 a b))
19.8b
(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))))))
33.4b
(fma.f64 a (cbrt.f64 (/.f64 (*.f64 (*.f64 -1/3 -1/3) -1/3) (*.f64 (*.f64 b b) b))) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)))
33.1b
(expm1.f64 (log1p.f64 (fma.f64 a (/.f64 -1/3 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)) (cbrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3))))
19.0b
(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)))))))
19.8b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
18.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 y)))
25.5b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 2 (sqrt.f64 x)) (cbrt.f64 (cos.f64 y))))
18.0b
(fma.f64 a (/.f64 -1/3 b) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cbrt.f64 (cos.f64 y)))) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y))))) (cbrt.f64 (cos.f64 y))))
Compiler

Compiled 6166 to 2860 computations (53.6% saved)

regimes4.7s (36%)

Accuracy

Total 1.8b remaining (10.9%)

Threshold costs 0b (0%)

Counts
139 → 3
Compiler

Compiled 70704 to 50705 computations (28.3% saved)

bsearch7.0ms (0.1%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify6.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03994
15394
26394
36994
47394
57494
67494

end13.0ms (0.1%)

Compiler

Compiled 204 to 129 computations (36.8% saved)

sample4.2s (32.1%)

Algorithm
intervals
Results
901.0ms1647×body1024valid
602.0ms709×body2048valid
484.0ms4585×body128valid
261.0ms724×body512valid
227.0ms2244×body128nan
109.0ms1138×body128invalid
71.0ms333×body256valid
4.0msbody4096valid
Compiler

Compiled 988 to 707 computations (28.4% saved)

Profiling

Loading profile data...