Details

Time bar (total: 8.9s)

analyze1.4s (15.5%)

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.8s (42.9%)

Results
1.3s1144×body2048valid
941.0ms1362×body1024valid
905.0ms4377×body128valid
443.0ms886×body512valid
159.0ms485×body256valid
5.0msbody4096valid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
11220
21420
31420

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
38.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
38.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)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
7.2b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
30.6b
(sin.f64 (/.f64 x (*.f64 y 2)))
31.0b
(tan.f64 (/.f64 x (*.f64 y 2)))

series63.0ms (0.7%)

Counts
3 → 72
Calls

3 calls:

33.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
21.0ms
(tan.f64 (/.f64 x (*.f64 y 2)))
8.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))

rewrite63.0ms (0.7%)

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
Counts
3 → 90
Calls

3 calls:

59.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
59.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))
59.0ms
(tan.f64 (/.f64 x (*.f64 y 2)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0938
119338
2256238
3537038
000
100

simplify74.0ms (0.8%)

Algorithm
egg-herbie
Rules
581×fma-neg_binary64
361×associate-/r/_binary64
359×cancel-sign-sub-inv_binary64
359×times-frac_binary64
336×associate-/l/_binary64
Counts
162 → 113
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0701410
11861392
25161326
323821299
444821299
549651299

prune127.0ms (1.4%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New9518113
Fresh000
Picked101
Done000
Total9618114
Error
27.6b
Counts
114 → 18
Alt Table
StatusErrorProgram
38.6b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)) (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y))))))
38.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 3))
61.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (sin.f64 1))))
30.3b
1
38.6b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2) (/.f64 (cos.f64 (/.f64 x (+.f64 y y))) (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.2b
(sqrt.f64 (pow.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))) 2))
38.9b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))))
59.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))))
40.9b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
41.0b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
54.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (/.f64 x (+.f64 y y))) 2)))
58.7b
(/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.6b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)))
39.1b
(*.f64 (pow.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) 2) (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) (/.f64 1 (sin.f64 (/.f64 x (+.f64 y y))))))
58.7b
(/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y)))))) (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) 2) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))))
Compiler

Compiled 3258 to 1375 computations (57.8% saved)

localize0.0ms (0%)

prune22.0ms (0.2%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New000
Fresh01717
Picked011
Done000
Total01818
Error
27.6b
Counts
18 → 18
Alt Table
StatusErrorProgram
38.6b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)) (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y))))))
38.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 3))
61.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (sin.f64 1))))
30.3b
1
38.6b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2) (/.f64 (cos.f64 (/.f64 x (+.f64 y y))) (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.2b
(sqrt.f64 (pow.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))) 2))
38.9b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y)))))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))))
59.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))))
40.9b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
41.0b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
54.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (/.f64 x (+.f64 y y))) 2)))
58.7b
(/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.6b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)))
39.1b
(*.f64 (pow.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) 2) (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) (/.f64 1 (sin.f64 (/.f64 x (+.f64 y y))))))
58.7b
(/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y)))))) (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) 2) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))))
Compiler

Compiled 945 to 473 computations (49.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
7.2b
(/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))
30.6b
(sin.f64 (/.f64 x (+.f64 y y)))
31.0b
(tan.f64 (/.f64 x (+.f64 y y)))

series373.0ms (4.2%)

Counts
4 → 96
Calls

4 calls:

310.0ms
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
34.0ms
(/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))
20.0ms
(tan.f64 (/.f64 x (+.f64 y y)))
10.0ms
(sin.f64 (/.f64 x (+.f64 y y)))

rewrite139.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
587×prod-diff_binary64
466×fma-udef_binary64
359×fma-neg_binary64
194×fma-def_binary64
184×expm1-udef_binary64
Counts
4 → 154
Calls

4 calls:

136.0ms
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
136.0ms
(/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))
135.0ms
(sin.f64 (/.f64 x (+.f64 y y)))
135.0ms
(tan.f64 (/.f64 x (+.f64 y y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01158
122658
2273058
3476258
4489358
5489758
000
100

simplify83.0ms (0.9%)

Algorithm
egg-herbie
Rules
581×fma-neg_binary64
361×associate-/r/_binary64
359×cancel-sign-sub-inv_binary64
359×times-frac_binary64
336×associate-/l/_binary64
Counts
250 → 143
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0701818
11861794
25161722
323821668
444821668
549651668

prune144.0ms (1.6%)

Pruning

32 alts after pruning (31 fresh and 1 done)

PrunedKeptTotal
New12419143
Fresh41216
Picked101
Done011
Total12932161
Error
26.4b
Counts
161 → 32
Alt Table
StatusErrorProgram
38.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 3))
48.2b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) 2) (*.f64 (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (/.f64 1 (sin.f64 (*.f64 x (+.f64 y y))))))) 3)
61.9b
(pow.f64 (cbrt.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 x (+.f64 y y))))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
38.6b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)))
47.5b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y))))) 3)) 3)
62.0b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (fma.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y y))))) (cos.f64 1) (neg.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y y))))) (sin.f64 1)))))) 3)
62.4b
(pow.f64 (cbrt.f64 (/.f64 (neg.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
61.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (sin.f64 1))))
30.3b
1
47.7b
(/.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 2)) (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))))
62.8b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (log.f64 (/.f64 1 (exp.f64 (sin.f64 (*.f64 x (+.f64 y y)))))))) 3)
38.2b
(sqrt.f64 (pow.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))) 2))
38.6b
(/.f64 (/.f64 (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2) (/.f64 (cos.f64 (/.f64 x (+.f64 y y))) (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))))) (sin.f64 (/.f64 x (*.f64 y 2))))
55.0b
(/.f64 (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (/.f64 (sin.f64 (*.f64 x (+.f64 y y))) (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y))))))
55.0b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 2)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y))))))) 3)
61.9b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
38.9b
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))))) (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y)))))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))))))
47.8b
(/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) 2) (/.f64 (sin.f64 (*.f64 x (+.f64 y y))) (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y))))))
30.9b
(pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))) 3)
59.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))))
47.5b
(/.f64 1 (/.f64 (sin.f64 (*.f64 x (+.f64 y y))) (tan.f64 (*.f64 x (+.f64 y y)))))
55.2b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1 (sqrt.f64 (sin.f64 (*.f64 x (+.f64 y y))))) (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sqrt.f64 (sin.f64 (*.f64 x (+.f64 y y))))))) 3)
48.2b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y)))) 1/6) 3) (pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y)))) 1/6) 3))) 3)
62.0b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (*.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 2)))) 3)
54.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (/.f64 x (+.f64 y y))) 2)))
58.7b
(/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
60.0b
(pow.f64 (cbrt.f64 (neg.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y)))))) 3)
39.1b
(*.f64 (pow.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) 2) (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) (/.f64 1 (sin.f64 (/.f64 x (+.f64 y y))))))
62.0b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 3))) 3)
40.9b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))) 3)
58.7b
(/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y)))))) (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.1b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (tan.f64 (/.f64 x (+.f64 y y)))) 2) (pow.f64 (cbrt.f64 (sin.f64 (/.f64 x (+.f64 y y)))) 2)) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))))
Compiler

Compiled 5089 to 2010 computations (60.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series592.0ms (6.6%)

Counts
4 → 72
Calls

4 calls:

301.0ms
(pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))) 3)
266.0ms
(cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y)))))
18.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
6.0ms
(cos.f64 (*.f64 1/2 (/.f64 x y)))

rewrite108.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
492×log-prod_binary64
477×prod-diff_binary64
190×expm1-udef_binary64
190×log1p-udef_binary64
171×log-pow_binary64
Counts
4 → 124
Calls

4 calls:

106.0ms
(/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))
106.0ms
(cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y)))))
106.0ms
(pow.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))) 3)
106.0ms
(cos.f64 (*.f64 1/2 (/.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01247
123447
2261147
3499247
4541447
000
100

simplify93.0ms (1%)

Algorithm
egg-herbie
Rules
728×associate-/r*_binary64
624×fma-def_binary64
465×associate-*l/_binary64
419×associate-*r/_binary64
203×fma-neg_binary64
Counts
196 → 118
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0541380
11441350
23551320
312671296
447591224
549881224
649601224

prune197.0ms (2.2%)

Pruning

33 alts after pruning (32 fresh and 1 done)

PrunedKeptTotal
New10810118
Fresh82230
Picked101
Done011
Total11733150
Error
26.3b
Counts
150 → 33
Alt Table
StatusErrorProgram
61.9b
(pow.f64 (cbrt.f64 (/.f64 (log1p.f64 (expm1.f64 (tan.f64 (*.f64 x (+.f64 y y))))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
32.4b
(pow.f64 (cbrt.f64 (/.f64 1 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))) (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))))) (log.f64 (cbrt.f64 (exp.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))))))))) 3)
32.9b
(pow.f64 (cbrt.f64 (/.f64 1 (+.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 x y))))) (cos.f64 1)) (*.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (/.f64 x y))))) (sin.f64 1))))) 3)
31.0b
(pow.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) -2))) 3)
47.5b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y))))) 3)) 3)
62.0b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (fma.f64 (sin.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y y))))) (cos.f64 1) (neg.f64 (*.f64 (cos.f64 (exp.f64 (log1p.f64 (*.f64 x (+.f64 y y))))) (sin.f64 1)))))) 3)
47.7b
(/.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 2)) (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))))
32.5b
(pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) -1/2)) 2) 3)
62.4b
(pow.f64 (cbrt.f64 (/.f64 (neg.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
61.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 (/.f64 x (+.f64 y y))))) (sin.f64 1))))
30.3b
1
55.0b
(/.f64 (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (/.f64 (sin.f64 (*.f64 x (+.f64 y y))) (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y))))))
30.9b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y)))))) 3) 3)
55.0b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 2)) (/.f64 (sqrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y))))))) 3)
62.8b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (log.f64 (/.f64 1 (exp.f64 (sin.f64 (*.f64 x (+.f64 y y)))))))) 3)
61.9b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (/.f64 x (+.f64 y y))))) 3)
47.8b
(/.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) 2) (/.f64 (sin.f64 (*.f64 x (+.f64 y y))) (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y))))))
55.2b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 1 (sqrt.f64 (sin.f64 (*.f64 x (+.f64 y y))))) (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sqrt.f64 (sin.f64 (*.f64 x (+.f64 y y))))))) 3)
30.9b
(pow.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y)))))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))))))) 3)
59.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 (/.f64 x (+.f64 y y))))))))
47.5b
(/.f64 1 (/.f64 (sin.f64 (*.f64 x (+.f64 y y))) (tan.f64 (*.f64 x (+.f64 y y)))))
48.2b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y)))) 1/6) 3) (pow.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y)))) 1/6) 3))) 3)
32.6b
(pow.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))))) (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (/.f64 1 (cos.f64 (*.f64 1/2 (/.f64 x y))))))))) 3)
62.0b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (*.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 2)))) 3)
54.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (pow.f64 (sin.f64 (/.f64 x (+.f64 y y))) 2)))
58.7b
(/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))) (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
31.0b
(sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) -2))
31.0b
(pow.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) 2)))) 3)
48.2b
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) 2) (*.f64 (cbrt.f64 (tan.f64 (*.f64 x (+.f64 y y)))) (/.f64 1 (sin.f64 (*.f64 x (+.f64 y y))))))) 3)
60.0b
(pow.f64 (cbrt.f64 (neg.f64 (/.f64 (tan.f64 (*.f64 x (+.f64 y y))) (sin.f64 (*.f64 x (+.f64 y y)))))) 3)
62.0b
(pow.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (+.f64 y y))) (pow.f64 (cbrt.f64 (sin.f64 (*.f64 x (+.f64 y y)))) 3))) 3)
31.0b
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 (*.f64 1/2 (/.f64 x y))) -2)) 3/2)) 3)
58.7b
(/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y)))))) (log.f64 (sqrt.f64 (exp.f64 (tan.f64 (/.f64 x (+.f64 y y))))))) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 2786 to 1946 computations (30.2% saved)

regimes1.1s (12.3%)

Accuracy

Total 4.3b remaining (14.9%)

Threshold costs 0b (0%)

Counts
190 → 1
Compiler

Compiled 19541 to 12788 computations (34.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
141
231

end497.0ms (5.6%)

Compiler

Compiled 819 to 503 computations (38.6% saved)

Profiling

Loading profile data...