Details

Time bar (total: 13.1s)

analyze1.5s (11.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)

sample4.2s (32.4%)

Results
1.2s1658×body1024valid
932.0ms4769×body128valid
825.0ms730×body2048valid
673.0ms3491×body128invalid
385.0ms751×body512valid
150.0ms345×body256valid
9.0msbody4096valid
Compiler

Compiled 52 to 40 computations (23.1% saved)

preprocess57.0ms (0.4%)

Algorithm
egg-herbie
Rules
424×fma-neg_binary64
394×fma-def_binary64
378×cancel-sign-sub-inv_binary64
334×sub-neg_binary64
202×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0114464
1280464
2569464
31059432
42182400
54013400
066
166
Stop Event
unsound
node limit
Symmetry

(sort z t)

Compiler

Compiled 25 to 19 computations (24% saved)

simplify42.0ms (0.3%)

Algorithm
egg-herbie
Rules
718×fma-def_binary64
437×fma-neg_binary64
148×cancel-sign-sub-inv_binary64
110×distribute-rgt-neg-in_binary64
108×associate-/l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01929
13429
26529
312027
424125
539925
663925
792225
8121325
9174825
10241225
11278025
12287125
13288725
14288725
Stop Event
saturated
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

series36.0ms (0.3%)

Counts
4 → 84
Calls

27 calls:

3.0ms
(*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
x
0
3.0ms
(*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
x
-inf
3.0ms
(*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
z
0
3.0ms
(*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
x
inf
3.0ms
(*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))
t
0

rewrite65.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
615×log-prod_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
218×log-pow_binary64
132×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
126333
2313433
Stop Event
node limit
Counts
4 → 86

simplify59.0ms (0.5%)

Algorithm
egg-herbie
Rules
729×associate-*l*_binary64
653×associate-*r*_binary64
364×cancel-sign-sub-inv_binary64
320×fma-def_binary64
220×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0831491
12801422
29901366
348191366
Stop Event
node limit
Counts
170 → 124

prune235.0ms (1.8%)

Pruning

25 alts after pruning (25 fresh and 0 done)

PrunedKeptTotal
New10024124
Fresh011
Picked101
Done000
Total10125126
Error
14.5b
Counts
126 → 25
Alt Table
StatusErrorProgram
39.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (exp.f64 (log.f64 (/.f64 -1/3 b)))))
24.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 2))) (*.f64 a (/.f64 -1/3 b)))
34.4b
(fma.f64 2 (exp.f64 (log.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)))) (*.f64 a (/.f64 -1/3 b)))
37.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (sqrt.f64 (/.f64 1/9 (*.f64 b b)))))
20.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
28.8b
(fma.f64 2 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3) (pow.f64 x 3/2))) (*.f64 a (/.f64 -1/3 b)))
20.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (pow.f64 (*.f64 b -3) -1)))
44.6b
(fma.f64 2 (log.f64 (pow.f64 (exp.f64 (sqrt.f64 x)) (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (*.f64 a (/.f64 -1/3 b)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (pow.f64 (cbrt.f64 (/.f64 -1/3 b)) 3)))
20.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (*.f64 -1/3 (/.f64 1 b))))
19.3b
(fma.f64 2 (*.f64 (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)))) (*.f64 a (/.f64 -1/3 b)))
16.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 a (/.f64 -1/3 b)))
20.5b
(fma.f64 2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x))) 3) (*.f64 a (/.f64 -1/3 b)))
35.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (-.f64 (exp.f64 (log1p.f64 (/.f64 -1/3 b))) 1)))
38.6b
(fma.f64 2 (pow.f64 (pow.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)) 3) 1/3) (*.f64 a (/.f64 -1/3 b)))
20.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
53.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (sqrt.f64 (*.f64 t -1/3)) 2) y))) (*.f64 a (/.f64 -1/3 b)))
20.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (*.f64 a (/.f64 -1/3 b)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (cbrt.f64 (*.f64 t -1/3)) 3) y))) (*.f64 a (/.f64 -1/3 b)))
40.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (+.f64 (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)) (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 (*.f64 y y) -1/2))))) (*.f64 a (/.f64 -1/3 b)))
28.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 a (/.f64 -1/3 b)))
24.4b
(fma.f64 2 (sqrt.f64 (*.f64 x (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 2))) (*.f64 a (/.f64 -1/3 b)))
20.8b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
40.1b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (sin.f64 1)))) (*.f64 a (/.f64 -1/3 b)))
35.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t)))) y))) (*.f64 a (/.f64 -1/3 b)))
Compiler

Compiled 4548 to 3002 computations (34% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series45.0ms (0.3%)

Counts
3 → 73
Calls

24 calls:

3.0ms
(*.f64 (sqrt.f64 x) (cos.f64 y))
y
0
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 a (/.f64 -1/3 b)))
y
-inf
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 a (/.f64 -1/3 b)))
x
-inf
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 a (/.f64 -1/3 b)))
y
inf
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 a (/.f64 -1/3 b)))
x
inf

rewrite54.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
604×log-prod_binary64
240×prod-diff_binary64
235×expm1-udef_binary64
235×log1p-udef_binary64
211×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01333
126733
2315133
Stop Event
node limit
Counts
3 → 74

simplify57.0ms (0.4%)

Algorithm
egg-herbie
Rules
644×cancel-sign-sub-inv_binary64
503×fma-neg_binary64
426×sub-neg_binary64
200×*-commutative_binary64
173×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0481026
1137960
2406934
31435925
44226925
Stop Event
node limit
Counts
147 → 97

prune228.0ms (1.7%)

Pruning

33 alts after pruning (33 fresh and 0 done)

PrunedKeptTotal
New10913122
Fresh42024
Picked101
Done000
Total11433147
Error
14.3b
Counts
147 → 33
Alt Table
StatusErrorProgram
28.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 a (/.f64 -1/3 b)))
33.7b
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b))) 2)
17.2b
(fma.f64 2 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 3) (*.f64 a (/.f64 -1/3 b)))
34.4b
(fma.f64 2 (exp.f64 (log.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)))) (*.f64 a (/.f64 -1/3 b)))
37.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (sqrt.f64 (/.f64 1/9 (*.f64 b b)))))
49.6b
(pow.f64 (pow.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b)) 3) 1/3)
20.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
28.8b
(fma.f64 2 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3) (pow.f64 x 3/2))) (*.f64 a (/.f64 -1/3 b)))
28.4b
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (pow.f64 (/.f64 (*.f64 a -1/3) b) 2)) (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b)))
28.3b
(fma.f64 2 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))) 1) (*.f64 a (/.f64 -1/3 b)))
37.1b
(fma.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y)) (/.f64 -1/3 (/.f64 b a)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (pow.f64 (cbrt.f64 (/.f64 -1/3 b)) 3)))
40.5b
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 (*.f64 a -1/3) b) 3)) (fma.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (-.f64 (pow.f64 (/.f64 (*.f64 a -1/3) b) 2) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b)))))
24.4b
(fma.f64 2 (sqrt.f64 (*.f64 x (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 2))) (*.f64 a (/.f64 -1/3 b)))
28.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (expm1.f64 (log1p.f64 (/.f64 (*.f64 a -1/3) b))))
25.4b
(-.f64 (*.f64 2 (sqrt.f64 x)) (*.f64 1/3 (/.f64 a b)))
19.3b
(fma.f64 2 (*.f64 (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)))) (*.f64 a (/.f64 -1/3 b)))
17.6b
(*.f64 (cbrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b))) 2))
20.5b
(fma.f64 2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x))) 3) (*.f64 a (/.f64 -1/3 b)))
35.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (-.f64 (exp.f64 (log1p.f64 (/.f64 -1/3 b))) 1)))
21.3b
(fma.f64 2 (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))) (*.f64 a (/.f64 -1/3 b)))
38.6b
(fma.f64 2 (pow.f64 (pow.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)) 3) 1/3) (*.f64 a (/.f64 -1/3 b)))
20.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
53.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (sqrt.f64 (*.f64 t -1/3)) 2) y))) (*.f64 a (/.f64 -1/3 b)))
20.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (*.f64 a (/.f64 -1/3 b)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (cbrt.f64 (*.f64 t -1/3)) 3) y))) (*.f64 a (/.f64 -1/3 b)))
40.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (+.f64 (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)) (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 (*.f64 y y) -1/2))))) (*.f64 a (/.f64 -1/3 b)))
35.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t)))) y))) (*.f64 a (/.f64 -1/3 b)))
21.1b
(fma.f64 2 (sqrt.f64 (*.f64 x (pow.f64 (cos.f64 y) 2))) (*.f64 a (/.f64 -1/3 b)))
39.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (exp.f64 (log.f64 (/.f64 -1/3 b)))))
20.8b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
40.1b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (sin.f64 1)))) (*.f64 a (/.f64 -1/3 b)))
16.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
Compiler

Compiled 3980 to 2583 computations (35.1% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series37.0ms (0.3%)

Counts
3 → 73
Calls

21 calls:

3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
y
0
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
y
-inf
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
x
inf
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
x
-inf
3.0ms
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
y
inf

rewrite55.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
306×prod-diff_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
212×log-pow_binary64
132×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01329
126629
2325129
Stop Event
node limit
Counts
3 → 82

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Rules
484×fma-def_binary64
377×associate-*l*_binary64
371×cancel-sign-sub-inv_binary64
300×fma-neg_binary64
293×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
038920
1100857
2270845
3886838
43924838
Stop Event
node limit
Counts
155 → 96

prune217.0ms (1.7%)

Pruning

33 alts after pruning (32 fresh and 1 done)

PrunedKeptTotal
New1221123
Fresh13132
Picked011
Done000
Total12333156
Error
14.3b
Counts
156 → 33
Alt Table
StatusErrorProgram
28.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 a (/.f64 -1/3 b)))
33.7b
(pow.f64 (sqrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b))) 2)
17.2b
(fma.f64 2 (pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 3) (*.f64 a (/.f64 -1/3 b)))
34.4b
(fma.f64 2 (exp.f64 (log.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)))) (*.f64 a (/.f64 -1/3 b)))
37.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (sqrt.f64 (/.f64 1/9 (*.f64 b b)))))
49.6b
(pow.f64 (pow.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b)) 3) 1/3)
20.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
28.8b
(fma.f64 2 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3) (pow.f64 x 3/2))) (*.f64 a (/.f64 -1/3 b)))
28.4b
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y))) (pow.f64 (/.f64 (*.f64 a -1/3) b) 2)) (-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b)))
28.3b
(fma.f64 2 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))) 1) (*.f64 a (/.f64 -1/3 b)))
37.1b
(fma.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y)) (/.f64 -1/3 (/.f64 b a)))
25.4b
(fma.f64 -1/3 (/.f64 a b) (*.f64 2 (sqrt.f64 x)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (pow.f64 (cbrt.f64 (/.f64 -1/3 b)) 3)))
40.5b
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) 3) (pow.f64 (/.f64 (*.f64 a -1/3) b) 3)) (fma.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (-.f64 (pow.f64 (/.f64 (*.f64 a -1/3) b) 2) (*.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b)))))
24.4b
(fma.f64 2 (sqrt.f64 (*.f64 x (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 2))) (*.f64 a (/.f64 -1/3 b)))
28.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (expm1.f64 (log1p.f64 (/.f64 (*.f64 a -1/3) b))))
19.3b
(fma.f64 2 (*.f64 (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)))) (*.f64 a (/.f64 -1/3 b)))
17.6b
(*.f64 (cbrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b))) (pow.f64 (cbrt.f64 (fma.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 y) (/.f64 (*.f64 a -1/3) b))) 2))
20.5b
(fma.f64 2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x))) 3) (*.f64 a (/.f64 -1/3 b)))
35.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (-.f64 (exp.f64 (log1p.f64 (/.f64 -1/3 b))) 1)))
21.3b
(fma.f64 2 (expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))) (*.f64 a (/.f64 -1/3 b)))
38.6b
(fma.f64 2 (pow.f64 (pow.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)) 3) 1/3) (*.f64 a (/.f64 -1/3 b)))
20.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
53.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (sqrt.f64 (*.f64 t -1/3)) 2) y))) (*.f64 a (/.f64 -1/3 b)))
20.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (log1p.f64 (expm1.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))) (*.f64 a (/.f64 -1/3 b)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (cbrt.f64 (*.f64 t -1/3)) 3) y))) (*.f64 a (/.f64 -1/3 b)))
40.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (+.f64 (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)) (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 (*.f64 y y) -1/2))))) (*.f64 a (/.f64 -1/3 b)))
35.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t)))) y))) (*.f64 a (/.f64 -1/3 b)))
21.1b
(fma.f64 2 (sqrt.f64 (*.f64 x (pow.f64 (cos.f64 y) 2))) (*.f64 a (/.f64 -1/3 b)))
39.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (exp.f64 (log.f64 (/.f64 -1/3 b)))))
20.8b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
40.1b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (sin.f64 1)))) (*.f64 a (/.f64 -1/3 b)))
16.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
Compiler

Compiled 3954 to 2496 computations (36.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 a (/.f64 -1/3 b))
0.4b
(/.f64 -1/3 b)
0.6b
(cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))
0.7b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 3)

series432.0ms (3.3%)

Counts
2 → 40
Calls

12 calls:

74.0ms
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 3)
y
-inf
73.0ms
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 3)
y
inf
70.0ms
(cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))
y
-inf
67.0ms
(cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))
y
inf
36.0ms
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 3)
x
0

rewrite48.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
664×log1p-expm1-u_binary64
664×expm1-log1p-u_binary64
356×log-prod_binary64
134×expm1-udef_binary64
134×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0918
117918
2188918
Stop Event
node limit
Counts
2 → 65

simplify33.0ms (0.3%)

Algorithm
egg-herbie
Rules
565×fma-neg_binary64
385×*-commutative_binary64
367×distribute-rgt-neg-in_binary64
365×distribute-lft-neg-in_binary64
222×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044494
1127483
2435458
31972450
Stop Event
node limit
Counts
105 → 81

prune206.0ms (1.6%)

Pruning

33 alts after pruning (32 fresh and 1 done)

PrunedKeptTotal
New12510135
Fresh92231
Picked101
Done011
Total13533168
Error
14.3b
Counts
168 → 33
Alt Table
StatusErrorProgram
39.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (exp.f64 (log.f64 (/.f64 -1/3 b)))))
30.2b
(fma.f64 2 (pow.f64 (exp.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))))) 3) (*.f64 a (/.f64 -1/3 b)))
28.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (*.f64 1/3 (*.f64 t z)))) (*.f64 a (/.f64 -1/3 b)))
21.3b
(fma.f64 2 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (pow.f64 (cos.f64 y) 2)))) 3) (*.f64 a (/.f64 -1/3 b)))
34.4b
(fma.f64 2 (exp.f64 (log.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)))) (*.f64 a (/.f64 -1/3 b)))
37.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (sqrt.f64 (/.f64 1/9 (*.f64 b b)))))
17.6b
(fma.f64 2 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))) 3) 3) (*.f64 a (/.f64 -1/3 b)))
20.6b
(-.f64 (*.f64 (*.f64 2 (sqrt.f64 x)) (cos.f64 (-.f64 y (/.f64 (*.f64 z t) 3)))) (/.f64 a (*.f64 b 3)))
28.8b
(fma.f64 2 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 3) (pow.f64 x 3/2))) (*.f64 a (/.f64 -1/3 b)))
30.4b
(fma.f64 2 (pow.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 1/3)) 3) (*.f64 a (/.f64 -1/3 b)))
28.3b
(fma.f64 2 (-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 x) (cos.f64 y)))) 1) (*.f64 a (/.f64 -1/3 b)))
37.1b
(fma.f64 (sqrt.f64 x) (-.f64 2 (*.f64 y y)) (/.f64 -1/3 (/.f64 b a)))
25.4b
(fma.f64 -1/3 (/.f64 a b) (*.f64 2 (sqrt.f64 x)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (pow.f64 (cbrt.f64 (/.f64 -1/3 b)) 3)))
24.4b
(fma.f64 2 (sqrt.f64 (*.f64 x (pow.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) 2))) (*.f64 a (/.f64 -1/3 b)))
28.2b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (expm1.f64 (log1p.f64 (/.f64 (*.f64 a -1/3) b))))
20.5b
(fma.f64 2 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x))) 3) (*.f64 a (/.f64 -1/3 b)))
35.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (*.f64 t -1/3) y))) (*.f64 a (-.f64 (exp.f64 (log1p.f64 (/.f64 -1/3 b))) 1)))
38.6b
(fma.f64 2 (pow.f64 (pow.f64 (*.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)) (sqrt.f64 x)) 3) 1/3) (*.f64 a (/.f64 -1/3 b)))
17.0b
(fma.f64 2 (*.f64 (pow.f64 x 1/4) (*.f64 (pow.f64 x 1/4) (cos.f64 y))) (*.f64 a (/.f64 -1/3 b)))
17.1b
(fma.f64 2 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sqrt.f64 x)) (cos.f64 y))) (*.f64 a (/.f64 -1/3 b)))
16.9b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 y)) (/.f64 (*.f64 a -1/3) b))
53.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (sqrt.f64 (*.f64 t -1/3)) 2) y))) (*.f64 a (/.f64 -1/3 b)))
17.0b
(fma.f64 2 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (cbrt.f64 (cos.f64 y)) (sqrt.f64 x))) (*.f64 a (/.f64 -1/3 b)))
20.6b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (pow.f64 (cbrt.f64 (*.f64 t -1/3)) 3) y))) (*.f64 a (/.f64 -1/3 b)))
40.4b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (+.f64 (*.f64 (sin.f64 (*.f64 t (*.f64 z -1/3))) (-.f64 (*.f64 1/6 (pow.f64 y 3)) y)) (*.f64 (cos.f64 (*.f64 1/3 (*.f64 t z))) (*.f64 (*.f64 y y) -1/2))))) (*.f64 a (/.f64 -1/3 b)))
26.0b
(fma.f64 2 (pow.f64 (pow.f64 x 1/6) 3) (*.f64 a (/.f64 -1/3 b)))
35.3b
(fma.f64 2 (*.f64 (sqrt.f64 x) (cos.f64 (fma.f64 z (+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/3) t)))) y))) (*.f64 a (/.f64 -1/3 b)))
30.3b
(fma.f64 2 (pow.f64 (exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 x) (cos.f64 y))) 1/3)) 3) (*.f64 a (/.f64 -1/3 b)))
18.4b
(fma.f64 2 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 x 1/6)) 3) (*.f64 a (/.f64 -1/3 b)))
19.3b
(fma.f64 2 (*.f64 (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)))) (*.f64 a (/.f64 -1/3 b)))
20.8b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (fma.f64 z (*.f64 t -1/3) y))))))) (*.f64 a (/.f64 -1/3 b)))
40.1b
(fma.f64 2 (*.f64 (sqrt.f64 x) (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (fma.f64 z (*.f64 t -1/3) y)))) (sin.f64 1)))) (*.f64 a (/.f64 -1/3 b)))
Compiler

Compiled 3534 to 2150 computations (39.2% saved)

regimes4.6s (35.1%)

Accuracy

Total 1.6b remaining (10%)

Threshold costs 0b (0%)

Counts
165 → 3
Compiler

Compiled 71600 to 55516 computations (22.5% saved)

bsearch7.0ms (0.1%)

Algorithm
left-value
Calls

2 calls:

0.0ms
(*.f64 z t)
0.0ms
(*.f64 z t)
Steps
ItersPointRange
5.757236538346392e+129
∈ [
5.757236538346392e+129
,
1.6902929196708876e+153
]
-1.785357164967349e+147
∈ [
-1.785357164967349e+147
,
-2.3905065691948453e+140
]
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
03791
15891
27591
38691
49391
59691
69791
Stop Event
saturated

end713.0ms (5.4%)

Stop Event
fuel
Compiler

Compiled 1133 to 843 computations (25.6% saved)

Profiling

Loading profile data...