Details

Time bar (total: 5.4s)

analyze581.0ms (10.8%)

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
0%99.9%0.1%7
6.2%79.6%14.2%8
7.8%75.7%16.5%9
11.7%68.6%19.6%10
20.3%49.3%30.4%11
22.2%44.4%33.4%12
25.2%37.3%37.5%13
28%27.3%44.7%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.5s (27.2%)

Results
855.0ms8256×body128valid
515.0ms4463×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify85.0ms (1.6%)

Algorithm
egg-herbie
Rules
1052×fma-def_binary64
423×fabs-mul_binary64
333×distribute-rgt-in_binary64
319×div-sub_binary64
307×*-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11912
24512
310512
421912
536012
661712
7169812
8203712
9262912
10343712
11390912
12455712
13503912

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
8.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
8.2b
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
Compiler

Compiled 33 to 21 computations (36.4% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cosh.f64 x) (/.f64 y x))
7.7b
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)

series82.0ms (1.5%)

Counts
2 → 60
Calls

2 calls:

55.0ms
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
27.0ms
(*.f64 (cosh.f64 x) (/.f64 y x))

rewrite56.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
533×log-prod_binary64
177×pow1/3_binary64
170×expm1-udef_binary64
170×log1p-udef_binary64
162×log-div_binary64
Counts
2 → 88
Calls

2 calls:

54.0ms
(*.f64 (cosh.f64 x) (/.f64 y x))
54.0ms
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
117621
2254821
3502321
000
100

simplify85.0ms (1.6%)

Algorithm
egg-herbie
Rules
535×fma-def_binary64
478×associate-/r/_binary64
476×distribute-rgt-in_binary64
460×associate-/r*_binary64
347×distribute-rgt-out_binary64
Counts
148 → 112
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0621308
11761196
24231196
39951182
424081174
537921171
643111171
750461171

prune93.0ms (1.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1066112
Fresh000
Picked101
Done000
Total1076113
Error
0.0b
Counts
113 → 6
Alt Table
StatusErrorProgram
8.1b
(*.f64 y (/.f64 (fma.f64 1/2 (exp.f64 x) (/.f64 1/2 (exp.f64 x))) (*.f64 z x)))
6.7b
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))
8.0b
(+.f64 (*.f64 1/720 (/.f64 (*.f64 y (pow.f64 x 5)) z)) (+.f64 (*.f64 1/2 (/.f64 (*.f64 y x) z)) (+.f64 (/.f64 y (*.f64 z x)) (*.f64 1/24 (/.f64 (*.f64 y (pow.f64 x 3)) z)))))
8.3b
(*.f64 (cosh.f64 x) (*.f64 (/.f64 y x) (/.f64 1 z)))
7.7b
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
35.7b
(*.f64 (/.f64 (cosh.f64 x) (sqrt.f64 z)) (/.f64 (/.f64 y x) (sqrt.f64 z)))
Compiler

Compiled 1781 to 721 computations (59.5% saved)

localize24.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 1/720 (pow.f64 x 5))
0.2b
(fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))
6.2b
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))

series131.0ms (2.4%)

Counts
3 → 48
Calls

3 calls:

124.0ms
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))
4.0ms
(fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))
3.0ms
(*.f64 1/720 (pow.f64 x 5))

rewrite76.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
217×add-sqr-sqrt_binary64
209×log1p-expm1-u_binary64
209×expm1-log1p-u_binary64
209×prod-diff_binary64
204×add-cbrt-cube_binary64
Counts
3 → 69
Calls

3 calls:

74.0ms
(*.f64 1/720 (pow.f64 x 5))
74.0ms
(fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))
74.0ms
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02051
144851
2490951
3508151
000
100

simplify161.0ms (3%)

Algorithm
egg-herbie
Rules
833×fma-def_binary64
653×associate-*l/_binary64
524×associate-/l*_binary64
447×*-commutative_binary64
407×associate-/r*_binary64
Counts
117 → 90
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0591163
11581161
23831107
39391059
418941059
529671059
636851059
738851059
839491059
939921059
1041211059
1142711059
1249281059
1349441059

prune244.0ms (4.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New88290
Fresh145
Picked011
Done000
Total89796
Error
0.0b
Counts
96 → 7
Alt Table
StatusErrorProgram
8.1b
(*.f64 y (/.f64 (fma.f64 1/2 (exp.f64 x) (/.f64 1/2 (exp.f64 x))) (*.f64 z x)))
6.7b
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))
32.6b
(/.f64 (-.f64 (pow.f64 x -2) (pow.f64 (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))) 2)) (*.f64 (/.f64 z y) (-.f64 (/.f64 1 x) (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))))))
8.0b
(+.f64 (/.f64 y (*.f64 x z)) (*.f64 (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))) (/.f64 y z)))
8.3b
(*.f64 (cosh.f64 x) (*.f64 (/.f64 y x) (/.f64 1 z)))
7.7b
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
35.7b
(*.f64 (/.f64 (cosh.f64 x) (sqrt.f64 z)) (/.f64 (/.f64 y x) (sqrt.f64 z)))
Compiler

Compiled 2908 to 2023 computations (30.4% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
0.3b
(/.f64 1 (*.f64 z (/.f64 x y)))
7.0b
(*.f64 z (/.f64 x y))

series84.0ms (1.6%)

Counts
3 → 108
Calls

3 calls:

55.0ms
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
16.0ms
(/.f64 1 (*.f64 z (/.f64 x y)))
11.0ms
(*.f64 z (/.f64 x y))

rewrite59.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
564×log-prod_binary64
188×expm1-udef_binary64
188×log1p-udef_binary64
177×pow3_binary64
170×log-pow_binary64
Counts
3 → 111
Calls

3 calls:

57.0ms
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
57.0ms
(/.f64 1 (*.f64 z (/.f64 x y)))
57.0ms
(*.f64 z (/.f64 x y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
121226
2271626
3501526
000
100

simplify102.0ms (1.9%)

Algorithm
egg-herbie
Rules
818×fma-def_binary64
446×distribute-rgt-in_binary64
409×associate-/r/_binary64
394×associate-/r*_binary64
330×*-commutative_binary64
Counts
219 → 123
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0491341
11411273
23311273
37111269
418501257
534941254
640791254
748811254
850341254

prune87.0ms (1.6%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1212123
Fresh145
Picked011
Done011
Total1228130
Error
0.0b
Counts
130 → 8
Alt Table
StatusErrorProgram
8.3b
(*.f64 (cosh.f64 x) (*.f64 (/.f64 y x) (/.f64 1 z)))
7.5b
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 z x)))
7.7b
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
7.7b
(*.f64 (cosh.f64 x) (/.f64 1 (/.f64 (*.f64 z x) y)))
8.1b
(*.f64 y (/.f64 (fma.f64 1/2 (exp.f64 x) (/.f64 1/2 (exp.f64 x))) (*.f64 z x)))
6.7b
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))
32.6b
(/.f64 (-.f64 (pow.f64 x -2) (pow.f64 (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))) 2)) (*.f64 (/.f64 z y) (-.f64 (/.f64 1 x) (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))))))
35.7b
(*.f64 (/.f64 (cosh.f64 x) (sqrt.f64 z)) (/.f64 (/.f64 y x) (sqrt.f64 z)))
Compiler

Compiled 1901 to 792 computations (58.3% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 z x)))
7.0b
(/.f64 y (*.f64 z x))

series69.0ms (1.3%)

Counts
2 → 36
Calls

2 calls:

53.0ms
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 z x)))
16.0ms
(/.f64 y (*.f64 z x))

rewrite55.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
506×log-prod_binary64
239×pow2_binary64
190×pow-unpow_binary64
171×pow1/3_binary64
164×expm1-udef_binary64
Counts
2 → 93
Calls

2 calls:

54.0ms
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 z x)))
54.0ms
(/.f64 y (*.f64 z x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
117119
2236919
3525519
000
100

simplify87.0ms (1.6%)

Algorithm
egg-herbie
Rules
824×fma-def_binary64
448×distribute-rgt-in_binary64
411×associate-/r/_binary64
397×associate-/r*_binary64
328×*-commutative_binary64
Counts
129 → 104
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
048837
1138769
2328769
3709765
41854753
53491750
64077750
74879750
85032750

prune74.0ms (1.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1031104
Fresh145
Picked011
Done022
Total1048112
Error
0b
Counts
112 → 8
Alt Table
StatusErrorProgram
8.3b
(*.f64 (cosh.f64 x) (*.f64 (/.f64 y x) (/.f64 1 z)))
7.5b
(*.f64 (cosh.f64 x) (/.f64 y (*.f64 z x)))
8.1b
(*.f64 y (/.f64 (fma.f64 1/2 (exp.f64 x) (/.f64 1/2 (exp.f64 x))) (*.f64 z x)))
6.7b
(*.f64 (/.f64 y z) (+.f64 (/.f64 1 x) (+.f64 (*.f64 x 1/2) (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5))))))
32.6b
(/.f64 (-.f64 (pow.f64 x -2) (pow.f64 (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))) 2)) (*.f64 (/.f64 z y) (-.f64 (/.f64 1 x) (fma.f64 x 1/2 (fma.f64 1/24 (pow.f64 x 3) (*.f64 1/720 (pow.f64 x 5)))))))
9.0b
(*.f64 (cosh.f64 x) (*.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (/.f64 1 (*.f64 z x)))))
7.7b
(*.f64 (cosh.f64 x) (/.f64 1 (*.f64 z (/.f64 x y))))
35.7b
(*.f64 (/.f64 (cosh.f64 x) (sqrt.f64 z)) (/.f64 (/.f64 y x) (sqrt.f64 z)))
Compiler

Compiled 1507 to 600 computations (60.2% saved)

regimes1.5s (28.2%)

Accuracy

Total 0.3b remaining (82.7%)

Threshold costs 0.3b (82.7%)

Counts
160 → 3
Compiler

Compiled 13858 to 9252 computations (33.2% saved)

bsearch4.0ms (0.1%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
12570
22570

end128.0ms (2.4%)

Compiler

Compiled 255 to 149 computations (41.6% saved)

Profiling

Loading profile data...