Details

Time bar (total: 7.9s)

analyze791.0ms (10%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
50%50%0%5
50%50%0%6
50%50%0%7
50%50%0%8
50%50%0%9
50%50%0%10
50%50%0%11
50%50%0%12
50%50%0%13
50%49.9%0%14
Compiler

Compiled 17 to 9 computations (47.1% saved)

sample1.9s (24.1%)

Results
841.0ms2121×body1024valid
527.0ms4587×body128valid
322.0ms1046×body512valid
110.0ms498×body256valid
2.0msbody2048valid
Compiler

Compiled 50 to 26 computations (48% saved)

simplify93.0ms (1.2%)

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

series125.0ms (1.6%)

Counts
4 → 48
Calls

4 calls:

87.0ms
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
16.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.2%)

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 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
4.0ms
(*.f64 (tan.f64 x) (tan.f64 x))
2.0ms
(-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))
0.0ms
(fma.f64 (tan.f64 x) (tan.f64 x) 1)

simplify101.0ms (1.3%)

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

prune228.0ms (2.9%)

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
13.8b
(*.f64 (sqrt.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
1.6b
(/.f64 (-.f64 1 (log.f64 (exp.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x)))))
1.0b
(/.f64 (-.f64 1 (*.f64 (pow.f64 (cbrt.f64 (tan.f64 x)) 5) (cbrt.f64 (tan.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
1.5b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (log1p.f64 (expm1.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.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.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
(*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (/.f64 1 (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.3b
(/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.5b
(*.f64 (/.f64 (+.f64 1 (tan.f64 x)) (hypot.f64 1 (tan.f64 x))) (/.f64 (-.f64 1 (tan.f64 x)) (hypot.f64 1 (tan.f64 x))))
0.8b
(*.f64 (/.f64 (+.f64 1 (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)))) (/.f64 (-.f64 1 (tan.f64 x)) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
Compiler

Compiled 3964 to 1913 computations (51.7% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series142.0ms (1.8%)

Counts
4 → 48
Calls

4 calls:

93.0ms
(/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
21.0ms
(/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))
19.0ms
(-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))
9.0ms
(*.f64 (sin.f64 x) (tan.f64 x))

rewrite31.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
52×add-sqr-sqrt_binary64
50×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
33×times-frac_binary64
21×prod-diff_binary64
Counts
4 → 136
Calls

4 calls:

7.0ms
(/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
5.0ms
(-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))
4.0ms
(/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))
4.0ms
(*.f64 (sin.f64 x) (tan.f64 x))

simplify146.0ms (1.8%)

Algorithm
egg-herbie
Rules
631×fma-def_binary64
328×associate-/r/_binary64
242×cancel-sign-sub-inv_binary64
210×distribute-rgt-neg-in_binary64
202×exp-prod_binary64
Counts
184 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02465019
15704557
220194173
344354173
448964173

prune425.0ms (5.4%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New18610196
Fresh6612
Picked101
Done000
Total19316209
Error
0.0b
Counts
209 → 16
Alt Table
StatusErrorProgram
1.6b
(/.f64 (-.f64 1 (log.f64 (exp.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(/.f64 (*.f64 (+.f64 1 (sqrt.f64 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (-.f64 1 (sqrt.f64 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.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 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(/.f64 (-.f64 1 (/.f64 (log.f64 (exp.f64 (*.f64 (sin.f64 x) (tan.f64 x)))) (cos.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
(/.f64 (-.f64 1 (/.f64 (sin.f64 x) (/.f64 (cos.f64 x) (tan.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
1.5b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (log1p.f64 (expm1.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.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))))
13.7b
(/.f64 (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (sqrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))))))
0.3b
(/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(/.f64 1 (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))))
0.7b
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))))) (/.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.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)))) (/.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
13.8b
(*.f64 (sqrt.f64 (/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))) (sqrt.f64 (/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(/.f64 (-.f64 (*.f64 1 1) (*.f64 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (fma.f64 (sin.f64 x) (/.f64 (tan.f64 x) (cos.f64 x)) 1)))
Compiler

Compiled 6752 to 2538 computations (62.4% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series151.0ms (1.9%)

Counts
2 → 24
Calls

2 calls:

86.0ms
(*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
65.0ms
(/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1))

rewrite20.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt_binary64
20×times-frac_binary64
20×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
15×add-exp-log_binary64
Counts
2 → 77
Calls

2 calls:

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

simplify103.0ms (1.3%)

Algorithm
egg-herbie
Rules
656×fma-neg_binary64
627×distribute-rgt-in_binary64
383×cancel-sign-sub-inv_binary64
244×associate-*l*_binary64
234×fma-def_binary64
Counts
101 → 122
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202438
12802128
27672112
322122112
448862112
552672112

prune410.0ms (5.2%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New1944198
Fresh6915
Picked101
Done000
Total20113214
Error
0.0b
Counts
214 → 13
Alt Table
StatusErrorProgram
1.6b
(/.f64 (-.f64 1 (log.f64 (exp.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(*.f64 (+.f64 1 (tan.f64 x)) (*.f64 (-.f64 1 (tan.f64 x)) (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.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)))) (/.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))))
1.5b
(/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (log1p.f64 (expm1.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.3b
(/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.3b
(*.f64 (-.f64 1 (/.f64 (*.f64 (tan.f64 x) (sin.f64 x)) (cos.f64 x))) (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (exp.f64 (neg.f64 (log1p.f64 (*.f64 (tan.f64 x) (tan.f64 x))))))
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.7b
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))))) (/.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
13.8b
(*.f64 (sqrt.f64 (/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))) (sqrt.f64 (/.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(/.f64 (-.f64 (*.f64 1 1) (*.f64 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)) (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (*.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (fma.f64 (sin.f64 x) (/.f64 (tan.f64 x) (cos.f64 x)) 1)))
Compiler

Compiled 5406 to 2752 computations (49.1% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (tan.f64 x) (cos.f64 x))
0.2b
(/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.2b
(*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1))
45.1b
(fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))

series217.0ms (2.7%)

Counts
4 → 48
Calls

4 calls:

130.0ms
(/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
53.0ms
(fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))
19.0ms
(*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1))
14.0ms
(/.f64 (tan.f64 x) (cos.f64 x))

rewrite28.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
52×add-sqr-sqrt_binary64
46×times-frac_binary64
45×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
25×add-exp-log_binary64
Counts
4 → 131
Calls

4 calls:

10.0ms
(*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1))
4.0ms
(/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
3.0ms
(/.f64 (tan.f64 x) (cos.f64 x))
0.0ms
(fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))

simplify160.0ms (2%)

Algorithm
egg-herbie
Rules
964×fma-def_binary64
483×associate-/l*_binary64
400×times-frac_binary64
325×associate-*l/_binary64
272×distribute-rgt-in_binary64
Counts
179 → 226
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02395524
15264396
214813399
340953397
449683397
548243397

prune954.0ms (12%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New4075412
Fresh6612
Picked101
Done000
Total41411425
Error
0b
Counts
425 → 11
Alt Table
StatusErrorProgram
1.6b
(/.f64 (-.f64 1 (log.f64 (exp.f64 (*.f64 (tan.f64 x) (tan.f64 x))))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.4b
(*.f64 (+.f64 1 (tan.f64 x)) (*.f64 (-.f64 1 (tan.f64 x)) (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
2.7b
(/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (log1p.f64 (expm1.f64 (/.f64 (tan.f64 x) (cos.f64 x))))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))
0.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1))))) (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1))))) (*.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.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.7b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))) (cbrt.f64 (/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))) (cbrt.f64 (/.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.7b
(/.f64 (*.f64 (cbrt.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1))))) (cbrt.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))))) (/.f64 (fma.f64 (tan.f64 x) (tan.f64 x) 1) (cbrt.f64 (+.f64 (fma.f64 1 1 (neg.f64 (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))) (fma.f64 (neg.f64 (/.f64 (tan.f64 x) (cos.f64 x))) (/.f64 (sin.f64 x) 1) (*.f64 (/.f64 (tan.f64 x) (cos.f64 x)) (/.f64 (sin.f64 x) 1)))))))
0.4b
(*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (exp.f64 (neg.f64 (log1p.f64 (*.f64 (tan.f64 x) (tan.f64 x))))))
0.7b
(*.f64 (*.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x))))) (/.f64 (cbrt.f64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (tan.f64 x)) (cos.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1)))
0.4b
(expm1.f64 (log1p.f64 (/.f64 (-.f64 1 (*.f64 (sin.f64 x) (/.f64 (tan.f64 x) (cos.f64 x)))) (fma.f64 (tan.f64 x) (tan.f64 x) 1))))
0.4b
(*.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 x))) (expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 (tan.f64 x) (tan.f64 x) 1)))))
Compiler

Compiled 21344 to 8519 computations (60.1% saved)

regimes1.6s (19.8%)

Accuracy

Total 0.3b remaining (77.1%)

Threshold costs 0.3b (77.1%)

Counts
287 → 1
Compiler

Compiled 35581 to 19653 computations (44.8% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
11722
22322
32722
42922
52822

end259.0ms (3.3%)

Compiler

Compiled 622 to 306 computations (50.8% saved)

Profiling

Loading profile data...