Details

Time bar (total: 8.4s)

analyze1.2s (13.8%)

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 (45.1%)

Results
1.3s1394×body1024valid
1.2s1095×body2048valid
713.0ms4419×body128valid
410.0ms866×body512valid
141.0ms481×body256valid
3.0msbody4096valid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify7.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
35.6b
Counts
2 → 1
Alt Table
StatusErrorProgram
35.6b
(/.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
8.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
26.6b
(sin.f64 (/.f64 x (*.f64 y 2)))
27.2b
(tan.f64 (/.f64 x (*.f64 y 2)))

series69.0ms (0.8%)

Counts
3 → 72
Calls

3 calls:

37.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
23.0ms
(tan.f64 (/.f64 x (*.f64 y 2)))
9.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
3 → 49
Calls

3 calls:

4.0ms
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
1.0ms
(tan.f64 (/.f64 x (*.f64 y 2)))
1.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))

simplify100.0ms (1.2%)

Algorithm
egg-herbie
Rules
469×associate-/l/_binary64
418×associate-/r/_binary64
384×times-frac_binary64
369×fma-neg_binary64
362×cancel-sign-sub-inv_binary64
Counts
121 → 77
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01302675
12842537
26992471
326922444
449242444
550182444

prune95.0ms (1.1%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New631477
Fresh000
Picked101
Done000
Total641478
Error
24.9b
Counts
78 → 14
Alt Table
StatusErrorProgram
36.2b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
60.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
35.6b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
38.3b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
50.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2))))))
47.3b
(*.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
36.3b
(*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
35.6b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
26.8b
1
59.3b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
35.6b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
36.2b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
Compiler

Compiled 2506 to 1811 computations (27.7% saved)

localize0.0ms (0%)

prune21.0ms (0.2%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New000
Fresh01313
Picked011
Done000
Total01414
Error
24.9b
Counts
14 → 14
Alt Table
StatusErrorProgram
36.2b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
60.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
35.6b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
38.3b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
50.5b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (*.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2))))))
47.3b
(*.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
36.3b
(*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
35.6b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
26.8b
1
59.3b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
35.6b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
36.2b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
Compiler

Compiled 767 to 569 computations (25.8% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
8.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
26.6b
(sin.f64 (/.f64 x (*.f64 y 2)))
27.2b
(tan.f64 (/.f64 x (*.f64 y 2)))

series68.0ms (0.8%)

Counts
1 → 24
Calls

1 calls:

67.0ms
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
cbrt-div_binary64
associate-*l/_binary64
frac-times_binary64
associate-*r/_binary64
*-un-lft-identity_binary64
Counts
1 → 19
Calls

1 calls:

9.0ms
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))

simplify59.0ms (0.7%)

Algorithm
egg-herbie
Rules
911×fma-def_binary64
673×associate-/l*_binary64
455×associate-/r*_binary64
324×associate-*l*_binary64
318×associate-*r*_binary64
Counts
43 → 38
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0741660
11261051
2248985
3788979
43868952
55028952

prune569.0ms (6.8%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New2627269
Fresh3912
Picked101
Done011
Total26617283
Error
24.7b
Counts
283 → 17
Alt Table
StatusErrorProgram
36.2b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
60.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
35.7b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (log1p.f64 (expm1.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))))
36.3b
(*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
45.9b
(/.f64 (cbrt.f64 (*.f64 (*.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
59.3b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
47.3b
(*.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
36.1b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) 1))
38.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))))
35.6b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
26.8b
1
35.6b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
35.6b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
35.6b
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))))
38.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))))
36.2b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
Compiler

Compiled 14637 to 10550 computations (27.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2))))
8.4b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
26.6b
(sin.f64 (/.f64 x (*.f64 y 2)))
26.9b
(cos.f64 (/.f64 x (*.f64 y 2)))

series45.0ms (0.5%)

Counts
3 → 72
Calls

3 calls:

20.0ms
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
17.0ms
(*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2))))
7.0ms
(cos.f64 (/.f64 x (*.f64 y 2)))

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
10×add-cbrt-cube_binary64
10×add-exp-log_binary64
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 54
Calls

3 calls:

8.0ms
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
4.0ms
(*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2))))
1.0ms
(cos.f64 (/.f64 x (*.f64 y 2)))

simplify121.0ms (1.4%)

Algorithm
egg-herbie
Rules
657×fma-def_binary64
479×associate-/l*_binary64
410×cancel-sign-sub-inv_binary64
333×associate-/r*_binary64
265×associate-*l*_binary64
Counts
126 → 114
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01372687
13242436
29832373
330592307
447232307
549842307
649372307

prune499.0ms (5.9%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New1408148
Fresh51015
Picked101
Done011
Total14619165
Error
24.7b
Counts
165 → 19
Alt Table
StatusErrorProgram
36.3b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
36.2b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
60.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
38.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
36.3b
(*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
35.6b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (*.f64 (cbrt.f64 (cos.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (cos.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (cos.f64 (/.f64 x (*.f64 y 2)))))))
59.3b
(/.f64 (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))
36.2b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))))))
59.3b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
38.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.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.4b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (/.f64 (*.f64 x x) (*.f64 y y)) -1/8 1)))
47.3b
(*.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (sin.f64 (/.f64 x (*.f64 y 2)))))
36.1b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) 1))
38.0b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))))
27.1b
(*.f64 (*.f64 (cbrt.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 2 y))))) (cbrt.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 2 y)))))) (cbrt.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 2 y))))))
26.8b
1
36.3b
(/.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (*.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cos.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
60.1b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (log.f64 (pow.f64 (exp.f64 (cos.f64 (/.f64 x (*.f64 2 y)))) (sin.f64 (/.f64 x (*.f64 2 y))))))
35.6b
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))) (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))))
Compiler

Compiled 4792 to 3443 computations (28.2% saved)

regimes1.3s (15.8%)

Accuracy

Total 2.5b remaining (8.7%)

Threshold costs 0b (0%)

Counts
195 → 1
Compiler

Compiled 31766 to 23568 computations (25.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
141
231

end413.0ms (4.9%)

Compiler

Compiled 709 to 526 computations (25.8% saved)

Profiling

Loading profile data...