Details

Time bar (total: 7.0s)

analyze1.1s (16.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
18.7%81.2%0.1%7
32.8%67.1%0.1%8
38.2%61.7%0.1%9
41%58.9%0.1%10
43.9%56%0.1%11
45.4%54.5%0.1%12
46.9%53%0.1%13
47.6%52.3%0.1%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample3.4s (48.5%)

Results
1.2s1114×body2048valid
896.0ms1310×body1024valid
726.0ms4415×body128valid
399.0ms912×body512valid
163.0ms501×body256valid
13.0msbody4096valid
Compiler

Compiled 32 to 24 computations (25% saved)

preprocess14.0ms (0.2%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01440
12040
22440
022
Stop Event
saturated
saturated
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Rules
associate-/r*_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
11220
21420
Stop Event
saturated
Counts
1 → 1

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
32.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
32.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 45 to 33 computations (26.7% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
6.2b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
25.8b
(tan.f64 (/.f64 x (*.f64 y 2)))
26.0b
(sin.f64 (/.f64 x (*.f64 y 2)))

series60.0ms (0.9%)

Counts
3 → 72
Calls

18 calls:

8.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
x
0
6.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
y
0
6.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
x
-inf
6.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
x
inf
4.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
y
-inf

rewrite53.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
621×prod-diff_binary64
522×log-prod_binary64
180×expm1-udef_binary64
180×log1p-udef_binary64
159×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
119338
2264238
Stop Event
node limit
Counts
3 → 87

simplify46.0ms (0.7%)

Algorithm
egg-herbie
Rules
363×associate-/r/_binary64
360×cancel-sign-sub-inv_binary64
359×times-frac_binary64
339×associate-/l/_binary64
215×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0701410
11871392
25441326
326641299
Stop Event
node limit
Counts
159 → 110

prune125.0ms (1.8%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New9218110
Fresh000
Picked101
Done000
Total9318111
Error
23.2b
Counts
111 → 18
Alt Table
StatusErrorProgram
32.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) 2) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 2)) (cbrt.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))))
32.8b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 3))
33.1b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
32.4b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 (/.f64 x (*.f64 y 2))))
58.5b
(/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))) (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
25.9b
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
32.3b
(log1p.f64 (expm1.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))))
26.2b
1
53.7b
(/.f64 (sqrt.f64 (pow.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) 2)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 1/2 (/.f64 x y) (*.f64 (pow.f64 (/.f64 x y) 3) -1/48)))
32.1b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))) 3)
54.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)) 2)))
32.9b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 2) (/.f64 (cos.f64 (*.f64 (/.f64 x y) 1/2)) (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
32.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) (sin.f64 (*.f64 (/.f64 x y) 1/2))))
61.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 1))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
35.0b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
Compiler

Compiled 3143 to 2127 computations (32.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (/.f64 x y))
0.1b
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
25.9b
(cos.f64 (*.f64 1/2 (/.f64 x y)))

series29.0ms (0.4%)

Counts
3 → 24
Calls

18 calls:

5.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
y
0
3.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
x
inf
3.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
x
-inf
2.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
x
0
2.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
y
inf

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
827×log1p-expm1-u_binary64
827×expm1-log1p-u_binary64
243×prod-diff_binary64
91×add-sqr-sqrt_binary64
84×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
118528
2226428
Stop Event
node limit
Counts
3 → 68

simplify27.0ms (0.4%)

Algorithm
egg-herbie
Rules
823×associate-/l*_binary64
610×associate-/r*_binary64
414×fma-def_binary64
375×associate-*l/_binary64
143×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
037540
1101522
2277504
31080492
Stop Event
node limit
Counts
92 → 81

prune127.0ms (1.8%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New671481
Fresh51217
Picked101
Done000
Total732699
Error
22.8b
Counts
99 → 26
Alt Table
StatusErrorProgram
32.9b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 2) (/.f64 (cos.f64 (*.f64 (/.f64 x y) 1/2)) (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
26.1b
(log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))))
25.9b
(/.f64 1 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) 3)))
32.8b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 3))
25.9b
(/.f64 1 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) 1))
32.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) (sin.f64 (*.f64 (/.f64 x y) 1/2))))
26.3b
(/.f64 1 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) 2)))
61.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 1))))
25.9b
(/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3))
33.1b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
32.4b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 (/.f64 x (*.f64 y 2))))
58.5b
(/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))) (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
27.4b
(/.f64 1 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 x y)) 3))))
26.3b
(/.f64 1 (cos.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 x y))) 3)))
26.2b
1
25.8b
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
35.0b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
54.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)) 2)))
28.0b
(/.f64 1 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 x y)))) 1)))
28.5b
(/.f64 1 (fma.f64 (/.f64 -1/8 y) (/.f64 x (/.f64 y x)) 1))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
43.9b
(/.f64 1 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 x y))) 2)))
35.0b
(/.f64 1 (cos.f64 (pow.f64 (pow.f64 (*.f64 1/2 (/.f64 x y)) 3) 1/3)))
45.5b
(/.f64 1 (cos.f64 (/.f64 (/.f64 (*.f64 1/2 x) (sqrt.f64 y)) (sqrt.f64 y))))
30.0b
(/.f64 1 (cos.f64 (/.f64 (/.f64 (*.f64 1/2 x) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y))))
Compiler

Compiled 2065 to 1523 computations (26.2% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
0.3b
(/.f64 1/2 (/.f64 y x))
25.8b
(cos.f64 (/.f64 1/2 (/.f64 y x)))

series28.0ms (0.4%)

Counts
3 → 72
Calls

18 calls:

4.0ms
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
y
0
3.0ms
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
x
-inf
3.0ms
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
x
inf
2.0ms
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
x
0
2.0ms
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
y
-inf

rewrite47.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
872×log1p-expm1-u_binary64
872×expm1-log1p-u_binary64
223×prod-diff_binary64
95×add-sqr-sqrt_binary64
88×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
119228
2242628
Stop Event
node limit
Counts
3 → 74

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
837×associate-/l*_binary64
622×associate-/r*_binary64
414×fma-def_binary64
387×associate-*l/_binary64
143×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042960
1109942
2287924
31107912
Stop Event
node limit
Counts
146 → 92

prune118.0ms (1.7%)

Pruning

27 alts after pruning (26 fresh and 1 done)

PrunedKeptTotal
New88492
Fresh32225
Picked011
Done000
Total9127118
Error
22.8b
Counts
118 → 27
Alt Table
StatusErrorProgram
32.9b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 2) (/.f64 (cos.f64 (*.f64 (/.f64 x y) 1/2)) (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
26.1b
(log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))))
32.8b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 3))
25.9b
(/.f64 1 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) 1))
32.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) (sin.f64 (*.f64 (/.f64 x y) 1/2))))
26.3b
(/.f64 1 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) 2)))
61.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 1))))
25.9b
(/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3))
33.1b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
32.4b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 (/.f64 x (*.f64 y 2))))
27.4b
(/.f64 1 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 x y)) 3))))
26.8b
(/.f64 1 (cos.f64 (sqrt.f64 (/.f64 1/4 (pow.f64 (/.f64 y x) 2)))))
35.0b
(/.f64 1 (cos.f64 (pow.f64 (pow.f64 (*.f64 1/2 (/.f64 x y)) 3) 1/3)))
43.0b
(/.f64 1 (cos.f64 (*.f64 (*.f64 (/.f64 1/2 y) (sqrt.f64 x)) (sqrt.f64 x))))
45.5b
(/.f64 1 (cos.f64 (/.f64 (/.f64 (*.f64 1/2 x) (sqrt.f64 y)) (sqrt.f64 y))))
29.5b
(/.f64 1 (cos.f64 (*.f64 (*.f64 (/.f64 1/2 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))))
30.0b
(/.f64 1 (cos.f64 (/.f64 (/.f64 (*.f64 1/2 x) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y))))
25.9b
(/.f64 1 (cos.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 x y))) 2))))
25.8b
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
35.0b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
54.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)) 2)))
28.0b
(/.f64 1 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 x y)))) 1)))
28.5b
(/.f64 1 (fma.f64 (/.f64 -1/8 y) (/.f64 x (/.f64 y x)) 1))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
43.9b
(/.f64 1 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 x y))) 2)))
26.2b
1
Compiler

Compiled 2174 to 1596 computations (26.6% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3))
0.3b
(cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))
0.3b
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3)
25.9b
(cos.f64 (*.f64 1/2 (/.f64 x y)))

series178.0ms (2.5%)

Counts
3 → 72
Calls

18 calls:

27.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3)
x
inf
24.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3)
y
0
24.0ms
(pow.f64 (cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))) 3)
x
-inf
21.0ms
(cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))
x
-inf
21.0ms
(cbrt.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))
x
inf

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
498×log-prod_binary64
243×prod-diff_binary64
191×expm1-udef_binary64
191×log1p-udef_binary64
173×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01232
125032
2281432
Stop Event
node limit
Counts
3 → 88

simplify39.0ms (0.6%)

Algorithm
egg-herbie
Rules
651×fma-def_binary64
585×associate-*l/_binary64
321×cancel-sign-sub-inv_binary64
230×fma-neg_binary64
187×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0561188
11571170
24231146
316481128
Stop Event
node limit
Counts
160 → 111

prune264.0ms (3.8%)

Pruning

30 alts after pruning (29 fresh and 1 done)

PrunedKeptTotal
New1338141
Fresh42125
Picked101
Done011
Total13830168
Error
22.8b
Counts
168 → 30
Alt Table
StatusErrorProgram
28.3b
(/.f64 1 (pow.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y))))) (cbrt.f64 (exp.f64 (cbrt.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y))))))) 3))
32.9b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))) 2) (/.f64 (cos.f64 (*.f64 (/.f64 x y) 1/2)) (cbrt.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
32.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) 2) 1) (/.f64 (cbrt.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2))) (sin.f64 (*.f64 (/.f64 x y) 1/2))))
26.3b
(/.f64 1 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) 2)))
27.5b
(/.f64 1 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y)))) (cbrt.f64 (exp.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y)))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y)))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
28.1b
(/.f64 1 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 1/2 x) y)))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 1/2 x) y)))) (sin.f64 1))))
33.1b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (*.f64 (/.f64 x y) 1/2)) (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
28.5b
(/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 (/.f64 -1/8 y) (/.f64 x (/.f64 y x)) 1)) 3))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))) (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)))))))
25.9b
(/.f64 1 (pow.f64 (cbrt.f64 (log.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) 3))
27.4b
(/.f64 1 (cos.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 (/.f64 x y)) 3))))
26.8b
(/.f64 1 (cos.f64 (sqrt.f64 (/.f64 1/4 (pow.f64 (/.f64 y x) 2)))))
35.0b
(/.f64 1 (cos.f64 (pow.f64 (pow.f64 (*.f64 1/2 (/.f64 x y)) 3) 1/3)))
43.0b
(/.f64 1 (cos.f64 (*.f64 (*.f64 (/.f64 1/2 y) (sqrt.f64 x)) (sqrt.f64 x))))
45.5b
(/.f64 1 (cos.f64 (/.f64 (/.f64 (*.f64 1/2 x) (sqrt.f64 y)) (sqrt.f64 y))))
29.5b
(/.f64 1 (cos.f64 (*.f64 (*.f64 (/.f64 1/2 y) (cbrt.f64 (*.f64 x x))) (cbrt.f64 x))))
30.0b
(/.f64 1 (cos.f64 (/.f64 (/.f64 (*.f64 1/2 x) (cbrt.f64 (*.f64 y y))) (cbrt.f64 y))))
25.9b
(/.f64 1 (pow.f64 (log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y)))))) 3))
25.9b
(/.f64 1 (cos.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (/.f64 x y))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 x y))) 2))))
25.8b
(/.f64 1 (cos.f64 (/.f64 1/2 (/.f64 y x))))
35.0b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 1/2 (/.f64 x y)))
26.3b
(/.f64 1 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y))) 2)) 3))
25.9b
(/.f64 1 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 (/.f64 (*.f64 1/2 x) y)))) 3) 3))
54.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (*.f64 (/.f64 x y) 1/2)) 2)))
28.0b
(/.f64 1 (cos.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 x y)))) 1)))
25.9b
(/.f64 1 (-.f64 (exp.f64 (log1p.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) 1))
61.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 x y) 1/2)))) (sin.f64 1))))
43.9b
(/.f64 1 (cos.f64 (pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 x y))) 2)))
26.2b
1
Compiler

Compiled 2969 to 2332 computations (21.5% saved)

regimes667.0ms (9.6%)

Accuracy

Total 2.8b remaining (10%)

Threshold costs 0b (0%)

Counts
122 → 2
Compiler

Compiled 11629 to 8995 computations (22.7% saved)

bsearch0.0ms (0%)

Algorithm
binary-search
Calls

1 calls:

0.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
Steps
ItersPointRange
1.3008624647609368
∈ [
1.2716990814678844
,
1.3300258480539893
]
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01446
11746
Stop Event
saturated

end463.0ms (6.7%)

Stop Event
fuel
Compiler

Compiled 669 to 521 computations (22.1% saved)

Profiling

Loading profile data...