Details

Time bar (total: 7.1s)

analyze1.0s (14.6%)

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

Results
1.3s1102×body2048valid
854.0ms1370×body1024valid
753.0ms4423×body128valid
373.0ms889×body512valid
142.0ms469×body256valid
8.0msbody4096valid
Compiler

Compiled 47 to 35 computations (25.5% saved)

simplify8.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.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
35.7b
(/.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
9.1b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))
26.9b
(sin.f64 (/.f64 x (*.f64 y 2)))
27.3b
(tan.f64 (/.f64 x (*.f64 y 2)))

series85.0ms (1.2%)

Counts
3 → 72
Calls

3 calls:

42.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)))
19.0ms
(sin.f64 (/.f64 x (*.f64 y 2)))

rewrite13.0ms (0.2%)

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:

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

simplify105.0ms (1.5%)

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

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New601777
Fresh000
Picked101
Done000
Total611778
Error
24.6b
Counts
78 → 17
Alt Table
StatusErrorProgram
49.5b
(/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (tan.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))))))
27.3b
1
35.7b
(/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
39.4b
(/.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.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)))))
39.6b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.7b
(*.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))))))
58.5b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
35.7b
(*.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.8b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
35.8b
(log1p.f64 (expm1.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
37.7b
(expm1.f64 (log1p.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.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))))))
36.3b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
49.9b
(/.f64 (cbrt.f64 (pow.f64 (tan.f64 (/.f64 x (*.f64 y 2))) 3)) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 2550 to 1851 computations (27.4% saved)

localize0.0ms (0%)

prune63.0ms (0.9%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New000
Fresh01616
Picked011
Done000
Total01717
Error
24.6b
Counts
17 → 17
Alt Table
StatusErrorProgram
49.5b
(/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (tan.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))))))
27.3b
1
35.7b
(/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
39.4b
(/.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.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)))))
39.6b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.7b
(*.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))))))
58.5b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
35.7b
(*.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.8b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
35.8b
(log1p.f64 (expm1.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.f64 (/.f64 x (*.f64 y 2))))))
37.7b
(expm1.f64 (log1p.f64 (/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (sin.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))))))
36.3b
(/.f64 (*.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
49.9b
(/.f64 (cbrt.f64 (pow.f64 (tan.f64 (/.f64 x (*.f64 y 2))) 3)) (sin.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 811 to 609 computations (24.9% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))
9.2b
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))
26.9b
(sin.f64 (/.f64 x (*.f64 y 2)))
27.3b
(tan.f64 (/.f64 x (*.f64 y 2)))

series94.0ms (1.3%)

Counts
2 → 48
Calls

2 calls:

52.0ms
(/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))
41.0ms
(/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))

rewrite23.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
87×times-frac_binary64
53×*-un-lft-identity_binary64
53×add-sqr-sqrt_binary64
53×add-cube-cbrt_binary64
17×associate-/r*_binary64
Counts
2 → 112
Calls

2 calls:

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

simplify155.0ms (2.2%)

Algorithm
egg-herbie
Rules
657×fma-neg_binary64
490×cancel-sign-sub-inv_binary64
440×fma-def_binary64
385×unswap-sqr_binary64
344×associate-/l/_binary64
Counts
160 → 187
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01434720
12794357
26644312
318224300
432534246
551274246

prune375.0ms (5.3%)

Pruning

24 alts after pruning (23 fresh and 1 done)

PrunedKeptTotal
New20815223
Fresh7815
Picked101
Done011
Total21624240
Error
24.5b
Counts
240 → 24
Alt Table
StatusErrorProgram
34.0b
(/.f64 1 (fma.f64 (/.f64 (*.f64 x x) (*.f64 y y)) -1/8 1))
58.5b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
37.7b
(/.f64 (/.f64 1 (sqrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))) (sqrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))
35.8b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
49.5b
(/.f64 (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (sqrt.f64 (tan.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))))))
27.3b
1
50.3b
(/.f64 1 (/.f64 (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))))) (tan.f64 (/.f64 x (*.f64 y 2)))))
36.3b
(*.f64 (/.f64 1 (/.f64 1 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))))) (/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))))
36.3b
(/.f64 1 (/.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))))) (tan.f64 (/.f64 x (*.f64 y 2)))))
36.2b
(*.f64 (/.f64 1 (/.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) 1)) (/.f64 1 (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (tan.f64 (/.f64 x (*.f64 y 2))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
39.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
49.9b
(/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (*.f64 (*.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))) (tan.f64 (/.f64 x (*.f64 y 2)))))))
35.7b
(/.f64 1 (*.f64 (/.f64 (*.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 (tan.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.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)))))
39.6b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.7b
(/.f64 1 (log.f64 (exp.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))))
35.7b
(/.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 2 y)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 2 y))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y)))))) (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))))
35.7b
(/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))) (cbrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))
36.4b
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))))
49.7b
(*.f64 (/.f64 1 (/.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 1 (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))))
35.7b
(*.f64 (*.f64 (cbrt.f64 (/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))) (cbrt.f64 (/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))))
26.5b
(/.f64 1 (cos.f64 (/.f64 x (*.f64 y 2))))
Compiler

Compiled 7458 to 5632 computations (24.5% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series27.0ms (0.4%)

Counts
2 → 48
Calls

2 calls:

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

rewrite5.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-exp-log_binary64
Counts
2 → 42
Calls

2 calls:

2.0ms
(/.f64 1 (cos.f64 (/.f64 x (*.f64 y 2))))
1.0ms
(cos.f64 (/.f64 x (*.f64 y 2)))

simplify74.0ms (1%)

Algorithm
egg-herbie
Rules
856×associate-/l*_binary64
787×fma-def_binary64
647×associate-/r*_binary64
395×associate-*l/_binary64
213×fma-neg_binary64
Counts
90 → 79
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0801519
11631432
23391414
311291402
448981402
552561402

prune195.0ms (2.7%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New74579
Fresh31922
Picked101
Done011
Total7825103
Error
24.5b
Counts
103 → 25
Alt Table
StatusErrorProgram
34.0b
(/.f64 1 (fma.f64 (/.f64 (*.f64 x x) (*.f64 y y)) -1/8 1))
58.5b
(/.f64 (log.f64 (exp.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.f64 (/.f64 x (*.f64 y 2))))
37.7b
(/.f64 (/.f64 1 (sqrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))))) (sqrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))
35.8b
(/.f64 (log1p.f64 (expm1.f64 (tan.f64 (/.f64 x (*.f64 y 2))))) (sin.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))))))
27.3b
1
26.5b
(/.f64 1 (log.f64 (exp.f64 (cos.f64 (/.f64 x (*.f64 y 2))))))
50.3b
(/.f64 1 (/.f64 (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))))) (tan.f64 (/.f64 x (*.f64 y 2)))))
36.3b
(*.f64 (/.f64 1 (/.f64 1 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))))) (/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))))
26.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 y 2)))))) (cbrt.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 y 2))))))
36.3b
(/.f64 1 (/.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))))) (tan.f64 (/.f64 x (*.f64 y 2)))))
36.2b
(*.f64 (/.f64 1 (/.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) 1)) (/.f64 1 (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (tan.f64 (/.f64 x (*.f64 y 2))))))
59.3b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (log.f64 (exp.f64 (sin.f64 (/.f64 x (*.f64 y 2))))))
39.4b
(/.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (fma.f64 (pow.f64 (/.f64 x y) 3) -1/48 (*.f64 1/2 (/.f64 x y))))
49.7b
(*.f64 (/.f64 1 (/.f64 (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2))))) (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 1 (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (sqrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))))
26.5b
(/.f64 (/.f64 1 (*.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)))))
49.9b
(/.f64 1 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (*.f64 (*.f64 (tan.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2)))) (tan.f64 (/.f64 x (*.f64 y 2)))))))
35.7b
(/.f64 1 (*.f64 (/.f64 (*.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 (tan.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.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)))))
39.6b
(/.f64 (*.f64 1/2 (/.f64 x y)) (sin.f64 (/.f64 x (*.f64 y 2))))
35.7b
(/.f64 (/.f64 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 2 y)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 2 y))))) (*.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y)))) (cbrt.f64 (sin.f64 (/.f64 x (*.f64 2 y)))))) (/.f64 (cbrt.f64 (sin.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2))))))
35.7b
(/.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))) (cbrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))) (cbrt.f64 (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (tan.f64 (/.f64 x (*.f64 y 2))))))
36.4b
(/.f64 1 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))) (/.f64 (sin.f64 (/.f64 x (*.f64 y 2))) (cbrt.f64 (tan.f64 (/.f64 x (*.f64 y 2)))))))
26.5b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (cos.f64 (/.f64 x (*.f64 2 y)))) (cbrt.f64 (cos.f64 (/.f64 x (*.f64 2 y)))))) (/.f64 1 (cbrt.f64 (cos.f64 (/.f64 x (*.f64 2 y))))))
26.5b
(log1p.f64 (expm1.f64 (/.f64 1 (cos.f64 (/.f64 x (*.f64 y 2))))))
Compiler

Compiled 1950 to 1503 computations (22.9% saved)

regimes857.0ms (12%)

Accuracy

Total 1.5b remaining (5.5%)

Threshold costs 0b (0%)

Counts
125 → 2
Compiler

Compiled 16788 to 12941 computations (22.9% saved)

bsearch2.0ms (0%)

Steps
ItersRangePoint
1
4.132398006973419
4.5231024621510425
4.425426348356637
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01446
11746
21646

end461.0ms (6.5%)

Compiler

Compiled 778 to 595 computations (23.5% saved)

Profiling

Loading profile data...