Details

Time bar (total: 18.2s)

analyze3.7s (20.4%)

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
37.4%62.4%0.1%7
37.4%62.4%0.1%8
43.7%56.2%0.1%9
43.7%56.2%0.1%10
43.7%56.2%0.1%11
46.8%53%0.1%12
46.8%53%0.1%13
46.8%53%0.1%14
Compiler

Compiled 34 to 19 computations (44.1% saved)

sample7.2s (39.7%)

Results
3.9s2119×body1024valid
1.6s4610×body128valid
1.1s985×body512valid
365.0ms539×body256valid
10.0msbody2048valid
Compiler

Compiled 101 to 56 computations (44.6% saved)

simplify414.0ms (2.3%)

Algorithm
egg-herbie
Rules
1350×fma-def_binary64
1306×fma-neg_binary64
889×div-sub_binary64
757×associate-/r/_binary64
558×associate-/l*_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01950
14450
210950
322950
433350
551550
671750
798450
8130850
9163350
10158950
11159150
12162350
13167150
14167150
15210350
16259150
17255950
18261550
19278350
20287950
21292750
22335150
23331950
24331950
25248750
26286350
27259150
28259150
29259150
30259150
31237650

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 99 to 54 computations (45.5% saved)

localize40.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (neg.f64 eh) (tan.f64 t))
0.1b
(*.f64 eh (sin.f64 t))
2.3b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
19.5b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series183.0ms (1%)

Counts
4 → 120
Calls

4 calls:

83.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
46.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
37.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
15.0ms
(*.f64 eh (sin.f64 t))

rewrite113.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt_binary64
13×associate-*l*_binary64
13×add-cbrt-cube_binary64
13×add-exp-log_binary64
12×*-un-lft-identity_binary64
Counts
4 → 85
Calls

4 calls:

81.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
10.0ms
(*.f64 eh (sin.f64 t))
9.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
2.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

simplify193.0ms (1.1%)

Algorithm
egg-herbie
Rules
776×times-frac_binary64
641×fma-def_binary64
349×div-sub_binary64
186×fma-neg_binary64
182×distribute-lft-neg-out_binary64
Counts
205 → 155
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01882842
14682661
216742646
342042644
451132644

prune633.0ms (3.5%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2555260
Fresh000
Picked101
Done000
Total2565261
Error
0.1b
Counts
261 → 5
Alt Table
StatusErrorProgram
32.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 eh (sqrt.f64 (sin.f64 t))) (sqrt.f64 (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
32.9b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (sqrt.f64 eh) (*.f64 (sqrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.5b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 eh) (cbrt.f64 eh)) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
23.3b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 eh eh) eh) (*.f64 (*.f64 (sin.f64 t) (sin.f64 t)) (sin.f64 t)))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 9689 to 2169 computations (77.6% saved)

localize52.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 eh (sin.f64 t))
0.6b
(/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))
2.3b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.3b
(/.f64 (*.f64 (tan.f64 t) eh) ew)

series425.0ms (2.3%)

Counts
2 → 72
Calls

2 calls:

325.0ms
(/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))
99.0ms
(/.f64 (*.f64 (tan.f64 t) eh) ew)

rewrite10.0ms (0.1%)

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

2 calls:

4.0ms
(/.f64 (*.f64 (tan.f64 t) eh) ew)
2.0ms
(/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))

simplify270.0ms (1.5%)

Algorithm
egg-herbie
Rules
361×associate-/r/_binary64
361×fma-neg_binary64
331×fma-def_binary64
302×associate-/l/_binary64
234×cancel-sign-sub-inv_binary64
Counts
129 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02203357
15993198
223313153
347013153
449843153
549993153
649973153
749583153

prune563.0ms (3.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2030203
Fresh044
Picked011
Done000
Total2035208
Error
0.1b
Counts
208 → 5
Alt Table
StatusErrorProgram
32.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 eh (sqrt.f64 (sin.f64 t))) (sqrt.f64 (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
32.9b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (sqrt.f64 eh) (*.f64 (sqrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.5b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 eh) (cbrt.f64 eh)) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
23.3b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 eh eh) eh) (*.f64 (*.f64 (sin.f64 t) (sin.f64 t)) (sin.f64 t)))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 8699 to 3102 computations (64.3% saved)

localize55.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 eh) (cbrt.f64 eh))
0.6b
(cbrt.f64 eh)
2.3b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
19.5b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series114.0ms (0.6%)

Counts
2 → 24
Calls

2 calls:

76.0ms
(cbrt.f64 eh)
38.0ms
(*.f64 (cbrt.f64 eh) (cbrt.f64 eh))

rewrite9.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
pow1_binary64
Counts
2 → 55
Calls

2 calls:

6.0ms
(*.f64 (cbrt.f64 eh) (cbrt.f64 eh))
1.0ms
(cbrt.f64 eh)

simplify76.0ms (0.4%)

Algorithm
egg-herbie
Rules
577×distribute-rgt-in_binary64
561×log-prod_binary64
538×distribute-lft-in_binary64
525×unswap-sqr_binary64
384×fma-def_binary64
Counts
79 → 74
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
058610
198554
2296516
3769502
41799410
54642410
64805410

prune597.0ms (3.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2263229
Fresh123
Picked011
Done011
Total2277234
Error
0.1b
Counts
234 → 7
Alt Table
StatusErrorProgram
0.5b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 eh) (cbrt.f64 eh)) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 eh) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 eh)) (cbrt.f64 (cbrt.f64 eh))) (cbrt.f64 (cbrt.f64 eh)))) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
23.3b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 eh eh) eh) (*.f64 (*.f64 (sin.f64 t) (sin.f64 t)) (sin.f64 t)))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.6b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 eh) (cbrt.f64 eh))) (*.f64 (cbrt.f64 (cbrt.f64 eh)) (cbrt.f64 eh))) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
32.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 eh (sqrt.f64 (sin.f64 t))) (sqrt.f64 (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
32.9b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 eh)) (sqrt.f64 eh)) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 10163 to 1913 computations (81.2% saved)

localize55.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 eh)
0.6b
(cbrt.f64 (cbrt.f64 eh))
2.3b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
19.5b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series477.0ms (2.6%)

Counts
1 → 12
Calls

1 calls:

477.0ms
(cbrt.f64 (cbrt.f64 eh))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cbrt-prod_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
1 → 16
Calls

1 calls:

2.0ms
(cbrt.f64 (cbrt.f64 eh))

simplify190.0ms (1%)

Algorithm
egg-herbie
Rules
952×unswap-sqr_binary64
687×sqr-pow_binary64
466×*-commutative_binary64
325×cube-prod_binary64
311×associate-/l/_binary64
Counts
28 → 21
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
033234
151234
289234
3160230
4410226
5652226
61364226
71508226
81713226
91972226
102408226
113558226
123799226
134679226
144777226

prune542.0ms (3%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New2300230
Fresh044
Picked011
Done022
Total2307237
Error
0.1b
Counts
237 → 7
Alt Table
StatusErrorProgram
0.5b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 eh) (cbrt.f64 eh)) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 eh) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 eh)) (cbrt.f64 (cbrt.f64 eh))) (cbrt.f64 (cbrt.f64 eh)))) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
23.3b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 eh eh) eh) (*.f64 (*.f64 (sin.f64 t) (sin.f64 t)) (sin.f64 t)))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.6b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 eh) (cbrt.f64 eh))) (*.f64 (cbrt.f64 (cbrt.f64 eh)) (cbrt.f64 eh))) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
32.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 eh (sqrt.f64 (sin.f64 t))) (sqrt.f64 (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
32.9b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 eh)) (sqrt.f64 eh)) (*.f64 (cbrt.f64 eh) (sin.f64 t))) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 (tan.f64 t) eh) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 11827 to 1937 computations (83.6% saved)

regimes1.9s (10.6%)

Accuracy

Total 0.0b remaining (28.7%)

Threshold costs 0.0b (28.7%)

Counts
141 → 1
Compiler

Compiled 25759 to 15813 computations (38.6% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary64
15×+-commutative_binary64
15×sub-neg_binary64
13×neg-sub0_binary64
12×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02450
14050
26950
39650
411750
512850
613050
713050

end304.0ms (1.7%)

Compiler

Compiled 360 to 195 computations (45.8% saved)

Profiling

Loading profile data...