Details

Time bar (total: 12.2s)

analyze2.6s (21.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
6.2%93.6%0.1%7
9.4%90.5%0.1%8
23.4%76.5%0.1%9
23.4%76.5%0.1%10
27.3%72.5%0.1%11
35.5%64.4%0.1%12
35.5%64.4%0.1%13
38%61.8%0.1%14
Compiler

Compiled 34 to 19 computations (44.1% saved)

sample5.6s (45.6%)

Results
2.9s2058×body1024valid
1.3s4618×body128valid
961.0ms1068×body512valid
310.0ms501×body256valid
32.0ms11×body2048valid
Compiler

Compiled 68 to 38 computations (44.1% saved)

preprocess47.0ms (0.4%)

Algorithm
egg-herbie
Rules
946×fma-def_binary64
468×fma-neg_binary64
352×times-frac_binary64
303×cancel-sign-sub-inv_binary64
212×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060200
1152200
2439200
31107200
41793200
53387200
64384200
033
Stop Event
saturated
node limit
Compiler

Compiled 33 to 18 computations (45.5% saved)

simplify37.0ms (0.3%)

Algorithm
egg-herbie
Rules
1286×fma-def_binary64
698×fma-neg_binary64
423×times-frac_binary64
245×div-sub_binary64
182×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01950
14450
211850
329050
445650
580150
6132550
7214950
8316050
9442350
10499250
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.1b
Counts
3 → 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 129 to 64 computations (50.4% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
0.1b
(*.f64 (neg.f64 eh) (tan.f64 t))
2.8b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
23.7b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series147.0ms (1.2%)

Counts
4 → 132
Calls

33 calls:

19.0ms
(*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
eh
0
8.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
eh
inf
7.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
t
-inf
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
t
inf
6.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
eh
0

rewrite57.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
237×expm1-udef_binary64
237×log1p-udef_binary64
142×add-sqr-sqrt_binary64
130×log1p-expm1-u_binary64
130×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01357
127348
2376048
Stop Event
node limit
Counts
4 → 105

simplify69.0ms (0.6%)

Algorithm
egg-herbie
Rules
474×distribute-lft-neg-in_binary64
472×distribute-rgt-neg-in_binary64
351×fma-def_binary64
300×associate-*l*_binary64
272×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0822488
12552428
28872378
337382378
Stop Event
node limit
Counts
237 → 137

prune215.0ms (1.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2194223
Fresh000
Picked011
Done000
Total2195224
Error
0.1b
Counts
224 → 5
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))))))
26.1b
(fabs.f64 (-.f64 (cbrt.f64 (pow.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) 3)) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
25.2b
(fabs.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 2) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.8b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
28.8b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 (atan.f64 (*.f64 eh (neg.f64 (/.f64 (tan.f64 t) ew)))))) (+.f64 (fma.f64 1/24 (pow.f64 t 4) 1) (*.f64 t (*.f64 t -1/2)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 8125 to 2292 computations (71.8% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3)
2.8b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.8b
(*.f64 (/.f64 eh ew) (tan.f64 t))
13.2b
(cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))))

series1.1s (9.2%)

Counts
3 → 68
Calls

27 calls:

193.0ms
(pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3)
t
inf
185.0ms
(pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3)
t
-inf
184.0ms
(cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))))
t
inf
172.0ms
(cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))))
t
-inf
60.0ms
(pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3)
ew
-inf

rewrite69.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
256×expm1-udef_binary64
256×log1p-udef_binary64
145×add-sqr-sqrt_binary64
136×log1p-expm1-u_binary64
136×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01551
130951
2381851
Stop Event
node limit
Counts
3 → 107

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
367×cancel-sign-sub-inv_binary64
315×unswap-sqr_binary64
193×associate-*r*_binary64
174×associate-/r/_binary64
167×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01972253
16492184
225952155
Stop Event
node limit
Counts
175 → 152

prune263.0ms (2.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2044208
Fresh213
Picked011
Done101
Total2076213
Error
0.0b
Counts
213 → 6
Alt Table
StatusErrorProgram
25.2b
(fabs.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 2) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.8b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.2b
(fabs.f64 (-.f64 (/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
13.3b
(fabs.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (sqrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) ew)) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.4b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) 2) (*.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (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 9013 to 3685 computations (59.1% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t)))
0.1b
(*.f64 (neg.f64 eh) (tan.f64 t))
2.8b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.8b
(*.f64 (/.f64 eh ew) (tan.f64 t))

series156.0ms (1.3%)

Counts
1 → 36
Calls

9 calls:

46.0ms
(/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t)))
t
-inf
46.0ms
(/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t)))
t
inf
13.0ms
(/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t)))
eh
-inf
11.0ms
(/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t)))
ew
-inf
9.0ms
(/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t)))
ew
0

rewrite49.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
230×expm1-udef_binary64
230×log1p-udef_binary64
209×log-pow_binary64
198×log-div_binary64
128×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
125220
2350920
Stop Event
node limit
Counts
1 → 43

simplify43.0ms (0.4%)

Algorithm
egg-herbie
Rules
455×fma-def_binary64
366×associate-*l/_binary64
254×cancel-sign-sub-inv_binary64
230×associate-/r/_binary64
216×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01351917
14531881
220081864
Stop Event
node limit
Counts
79 → 75

prune290.0ms (2.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2040204
Fresh044
Picked011
Done011
Total2046210
Error
0.0b
Counts
210 → 6
Alt Table
StatusErrorProgram
25.2b
(fabs.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 2) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.8b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.2b
(fabs.f64 (-.f64 (/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
13.3b
(fabs.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (sqrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) ew)) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.4b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) 2) (*.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (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 8102 to 3142 computations (61.2% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series150.0ms (1.2%)

Counts
1 → 36
Calls

9 calls:

46.0ms
(/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t))))
t
-inf
45.0ms
(/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t))))
t
inf
10.0ms
(/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t))))
ew
-inf
9.0ms
(/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t))))
ew
inf
9.0ms
(/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t))))
eh
inf

rewrite56.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
247×expm1-udef_binary64
247×log1p-udef_binary64
140×add-sqr-sqrt_binary64
128×add-cbrt-cube_binary64
128×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01323
127520
2378420
Stop Event
node limit
Counts
1 → 49

simplify47.0ms (0.4%)

Algorithm
egg-herbie
Rules
454×fma-def_binary64
366×associate-*l/_binary64
254×cancel-sign-sub-inv_binary64
230×associate-/r/_binary64
216×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01351917
14531881
220101864
Stop Event
node limit
Counts
85 → 81

prune318.0ms (2.6%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2100210
Fresh033
Picked011
Done022
Total2106216
Error
0.0b
Counts
216 → 6
Alt Table
StatusErrorProgram
25.2b
(fabs.f64 (-.f64 (pow.f64 (sqrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 2) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.8b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t)))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.2b
(fabs.f64 (-.f64 (/.f64 1 (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (*.f64 ew (cos.f64 t)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (/.f64 ew (/.f64 (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))) (cos.f64 t))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
13.3b
(fabs.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) (*.f64 (sqrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) ew)) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.4b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (tan.f64 t))))) 2) (*.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (*.f64 (/.f64 eh ew) (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 8488 to 3254 computations (61.7% saved)

regimes563.0ms (4.6%)

Accuracy

Total 0.0b remaining (33.3%)

Threshold costs 0.0b (33.3%)

Counts
86 → 1
Compiler

Compiled 15094 to 9958 computations (34% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02347
14247
27547
310447
412347
513247
613347
Stop Event
saturated

end183.0ms (1.5%)

Stop Event
fuel
Compiler

Compiled 294 to 190 computations (35.4% saved)

Profiling

Loading profile data...