Details

Time bar (total: 10.7s)

analyze786.0ms (7.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%100%0%3
25%75%0%4
37.5%62.5%0%5
43.7%56.2%0%6
46.9%53.1%0%7
48.4%51.5%0%8
48.4%51.5%0%9
48.4%51.5%0%10
48.4%51.5%0%11
48.5%51.4%0%12
48.6%51.4%0%13
48.6%51.3%0%14
Compiler

Compiled 17 to 9 computations (47.1% saved)

sample1.8s (17.3%)

Results
811.0ms2101×body1024valid
499.0ms4544×body128valid
310.0ms1070×body512valid
111.0ms533×body256valid
4.0msbody2048valid
Compiler

Compiled 33 to 17 computations (48.5% saved)

simplify94.0ms (0.9%)

Algorithm
egg-herbie
Rules
678×unsub-neg_binary64
627×times-frac_binary64
565×div-sub_binary64
547×fma-def_binary64
526×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0824
11922
23022
34722
49422
513722
621122
743722
892822
9171822
10307422
11386122
12444222
13482222

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.3b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.3b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (+.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))
Compiler

Compiled 92 to 45 computations (51.1% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (tan.f64 x) (tan.f64 x) 1)
0.1b
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
0.2b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.2b
(*.f64 (tan.f64 x) (tan.f64 x))

series128.0ms (1.2%)

Counts
4 → 48
Calls

4 calls:

90.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
17.0ms
(fma.f64 (tan.f64 x) (tan.f64 x) 1)
11.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
10.0ms
(*.f64 (tan.f64 x) (tan.f64 x))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
27×add-sqr-sqrt_binary64
25×*-un-lft-identity_binary64
20×add-cube-cbrt_binary64
15×times-frac_binary64
11×pow1_binary64
Counts
4 → 102
Calls

4 calls:

4.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
4.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
2.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
0.0ms
(fma.f64 (tan.f64 x) (tan.f64 x) 1)

simplify103.0ms (1%)

Algorithm
egg-herbie
Rules
588×cancel-sign-sub-inv_binary64
342×fma-def_binary64
323×fma-neg_binary64
287×associate-*l*_binary64
237×associate-*r*_binary64
Counts
150 → 159
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01643084
13602781
29602730
331232721
450352721

prune237.0ms (2.2%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New14613159
Fresh101
Picked101
Done000
Total14813161
Error
0.0b
Counts
161 → 13
Alt Table
StatusErrorProgram
0.4b
(*.f64 (+.f64 1 (tan.f64 x)) (/.f64 (-.f64 1 (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(/.f64 (-.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))
0.3b
(/.f64 (/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.7b
(/.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(/.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (*.f64 (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.7b
(/.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x)))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
1.9b
(/.f64 (log.f64 (/.f64 (exp.f64 1) (exp.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(/.f64 (-.f64 (*.f64 1 1) (*.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (*.f64 (tan.f64 x) (tan.f64 x)))) (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (+.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))
0.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(log.f64 (exp.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.3b
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(-.f64 (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (/.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
Compiler

Compiled 4070 to 1943 computations (52.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.2b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.2b
(*.f64 (tan.f64 x) (tan.f64 x))
0.3b
(log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))

series1.9s (18.1%)

Counts
2 → 24
Calls

2 calls:

1.8s
(log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
107.0ms
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))

rewrite2.0ms (0%)

Algorithm
rewrite-expression-head
Rules
expm1-log1p-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

0.0ms
(log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.0ms
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))

simplify138.0ms (1.3%)

Algorithm
egg-herbie
Rules
497×associate-*l*_binary64
460×associate-*r*_binary64
453×fma-def_binary64
373×cancel-sign-sub-inv_binary64
233×times-frac_binary64
Counts
46 → 48
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0691518
11521248
23611244
310651242
444401242
546681114
649611114
750001114
848731114

prune291.0ms (2.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1502152
Fresh21012
Picked101
Done000
Total15312165
Error
0.0b
Counts
165 → 12
Alt Table
StatusErrorProgram
0.4b
(*.f64 (+.f64 1 (tan.f64 x)) (/.f64 (-.f64 1 (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(/.f64 (-.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))
0.3b
(/.f64 (/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.7b
(/.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (*.f64 (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.7b
(/.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x)))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(expm1.f64 (log.f64 (+.f64 1 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))))
1.9b
(/.f64 (log.f64 (/.f64 (exp.f64 1) (exp.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(log.f64 (exp.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(-.f64 (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (/.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))))
Compiler

Compiled 4090 to 2154 computations (47.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4))
0.2b
(/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4))))
0.5b
(pow.f64 (tan.f64 x) 4)
0.6b
(pow.f64 (tan.f64 x) 6)

series324.0ms (3%)

Counts
4 → 48
Calls

4 calls:

241.0ms
(/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4))))
36.0ms
(fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4))
26.0ms
(pow.f64 (tan.f64 x) 6)
20.0ms
(pow.f64 (tan.f64 x) 4)

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
71×*-un-lft-identity_binary64
59×add-sqr-sqrt_binary64
40×times-frac_binary64
30×difference-of-squares_binary64
24×add-cube-cbrt_binary64
Counts
4 → 121
Calls

4 calls:

9.0ms
(/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4))))
3.0ms
(pow.f64 (tan.f64 x) 4)
2.0ms
(pow.f64 (tan.f64 x) 6)
0.0ms
(fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4))

simplify156.0ms (1.5%)

Algorithm
egg-herbie
Rules
515×associate-*l*_binary64
487×fma-def_binary64
471×associate-*r*_binary64
251×associate-/l*_binary64
214×distribute-rgt-in_binary64
Counts
169 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02285070
15014763
212484749
349794749
449744749

prune460.0ms (4.3%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1933196
Fresh11011
Picked101
Done000
Total19513208
Error
0.0b
Counts
208 → 13
Alt Table
StatusErrorProgram
0.4b
(*.f64 (+.f64 1 (tan.f64 x)) (/.f64 (-.f64 1 (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(/.f64 (-.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))
0.6b
(/.f64 (/.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (tan.f64 x) 6)) (cbrt.f64 (pow.f64 (tan.f64 x) 6))) (cbrt.f64 (pow.f64 (tan.f64 x) 6)))) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
1.6b
(/.f64 (log.f64 (exp.f64 (/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (*.f64 (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.7b
(/.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x)))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(expm1.f64 (log.f64 (+.f64 1 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))))
0.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(log.f64 (exp.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(-.f64 (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (/.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.6b
(/.f64 (/.f64 (-.f64 1 (/.f64 (pow.f64 (sin.f64 x) 6) (pow.f64 (cos.f64 x) 6))) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.7b
(/.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))))
Compiler

Compiled 7718 to 4546 computations (41.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))))
0.2b
(/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))
0.2b
(*.f64 (tan.f64 x) (tan.f64 x))
0.3b
(log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))))

series2.0s (18.7%)

Counts
3 → 36
Calls

3 calls:

1.8s
(log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))))
97.0ms
(/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))
93.0ms
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
123×times-frac_binary64
73×*-un-lft-identity_binary64
73×add-sqr-sqrt_binary64
61×add-cube-cbrt_binary64
24×difference-of-squares_binary64
Counts
3 → 132
Calls

3 calls:

7.0ms
(/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))
0.0ms
(log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))))))
0.0ms
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))))

simplify186.0ms (1.7%)

Algorithm
egg-herbie
Rules
852×fma-neg_binary64
459×distribute-rgt-in_binary64
425×cancel-sign-sub-inv_binary64
242×fma-def_binary64
207×times-frac_binary64
Counts
168 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01806383
13515442
29415303
325755303
447885303
553565303

prune477.0ms (4.5%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New2380238
Fresh01212
Picked011
Done000
Total23813251
Error
0.0b
Counts
251 → 13
Alt Table
StatusErrorProgram
0.4b
(*.f64 (+.f64 1 (tan.f64 x)) (/.f64 (-.f64 1 (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(/.f64 (-.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))) (+.f64 1 (/.f64 (pow.f64 (sin.f64 x) 2) (pow.f64 (cos.f64 x) 2))))
0.6b
(/.f64 (/.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (tan.f64 x) 6)) (cbrt.f64 (pow.f64 (tan.f64 x) 6))) (cbrt.f64 (pow.f64 (tan.f64 x) 6)))) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
1.6b
(/.f64 (log.f64 (exp.f64 (/.f64 (-.f64 1 (pow.f64 (tan.f64 x) 6)) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (*.f64 (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.7b
(/.f64 (-.f64 1 (*.f64 (*.f64 (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x)))) (cbrt.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(expm1.f64 (log.f64 (+.f64 1 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))))
0.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(log.f64 (exp.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(-.f64 (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (/.f64 (*.f64 (tan.f64 x) (tan.f64 x)) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.6b
(/.f64 (/.f64 (-.f64 1 (/.f64 (pow.f64 (sin.f64 x) 6) (pow.f64 (cos.f64 x) 6))) (+.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) (pow.f64 (tan.f64 x) 4)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.7b
(/.f64 (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (*.f64 (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(expm1.f64 (log1p.f64 (/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))))
Compiler

Compiled 7404 to 4117 computations (44.4% saved)

regimes1.2s (11%)

Accuracy

Total 0.3b remaining (78.9%)

Threshold costs 0.3b (78.9%)

Counts
256 → 1
Compiler

Compiled 24734 to 15094 computations (39% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
11322
21522
31622
41522

end233.0ms (2.2%)

Compiler

Compiled 388 to 218 computations (43.8% saved)

Profiling

Loading profile data...