Details

Time bar (total: 6.6s)

analyze112.0ms (1.7%)

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
25%74.9%0.1%5
25%68.7%6.3%6
25%53.1%22%7
25%46.8%28.2%8
25%33.6%41.5%9
28.1%18%54%10
31.6%12.1%56.3%11
33.4%5.9%60.8%12
35.2%3.8%61%13
36.1%2.9%61%14
Compiler

Compiled 30 to 20 computations (33.3% saved)

sample23.0ms (0.3%)

Algorithm
intervals
Results
15.0ms256×body128valid
Compiler

Compiled 47 to 34 computations (27.7% saved)

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (32.0ms)

IterNodesCost
0512625

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
2.4b
Counts
2 → 1
Compiler

Compiled 34 to 24 computations (29.4% saved)

localize13.0ms (0.2%)

Local error

Found 8 expressions with local error:

0.0b
(*.f64 4 (*.f64 b b))
0.0b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b)))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.0b
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
0.0b
(*.f64 4 (*.f64 b b))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)

rewrite29.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
13×add-sqr-sqrt_binary64_100
11×add-log-exp_binary64_117 *-un-lft-identity_binary64_78
10×add-exp-log_binary64_116 pow1_binary64_139
add-cbrt-cube_binary64_114
add-cube-cbrt_binary64_113
associate-*l*_binary64_19 cbrt-unprod_binary64_111 prod-exp_binary64_127 unpow-prod-down_binary64_157 pow-prod-down_binary64_149 pow-unpow_binary64_155 cancel-sign-sub-inv_binary64_44
diff-log_binary64_170 difference-of-squares_binary64_47 sum-log_binary64_169
+-commutative_binary64_8 *-commutative_binary64_9 pow-exp_binary64_146 pow-to-exp_binary64_147 flip-+_binary64_52 distribute-lft-out--_binary64_30 flip3--_binary64_82 unpow2_binary64_143 sqr-pow_binary64_50 associate--l+_binary64_15 associate-*r*_binary64_18 pow-pow_binary64_150 flip--_binary64_53 unswap-sqr_binary64_46 difference-of-sqr-1_binary64_48 sub-neg_binary64_71 flip3-+_binary64_81
Counts
4 → 68
Calls

8 calls:

10.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
5.0ms
(*.f64 4 (*.f64 b b))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
4.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
0.0ms
(+.f64 (*.f64 a a) (*.f64 b b))

series643.0ms (9.7%)

Counts
4 → 51
Calls

4 calls:

369.0ms
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 4 (*.f64 b b))) 1)
169.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
80.0ms
(+.f64 (*.f64 a a) (*.f64 b b))
24.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 1310 to 1149 computations (12.3% saved)

simplify80.0ms (1.2%)

Algorithm
egg-herbie
Counts
119 → 119
Iterations

Useful iterations: 0 (59.0ms)

IterNodesCost
049981957
149981957

prune166.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New10910119
Fresh000
Picked101
Done000
Total11010120
Error
2.2b
Counts
120 → 10
Compiler

Compiled 2602 to 1306 computations (49.8% saved)

localize15.0ms (0.2%)

Local error

Found 8 expressions with local error:

2.5b
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))
0.0b
(*.f64 4 (*.f64 b b))
0.0b
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b))) 1)
0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b)))
0.0b
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b)))
0.0b
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b))) 1)
0.0b
(*.f64 4 (*.f64 b b))
2.5b
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))

rewrite51.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
30×add-cbrt-cube_binary64_114 add-exp-log_binary64_116 pow1_binary64_139
27×add-log-exp_binary64_117
18×cbrt-unprod_binary64_111 prod-exp_binary64_127 pow-prod-down_binary64_149
12×sum-log_binary64_169
11×add-sqr-sqrt_binary64_100
*-un-lft-identity_binary64_78
add-cube-cbrt_binary64_113
associate-*l*_binary64_19 diff-log_binary64_170
cancel-sign-sub-inv_binary64_44
*-commutative_binary64_9 associate-*r*_binary64_18 difference-of-squares_binary64_47
+-commutative_binary64_8 flip-+_binary64_52 distribute-lft-out--_binary64_30 flip3--_binary64_82 associate--l+_binary64_15 associate-+l+_binary64_11 flip--_binary64_53 unswap-sqr_binary64_46 difference-of-sqr-1_binary64_48 sub-neg_binary64_71 flip3-+_binary64_81
Counts
4 → 83
Calls

8 calls:

15.0ms
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b))) 1)
12.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b)))
10.0ms
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))
5.0ms
(*.f64 4 (*.f64 b b))
0.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b)))

series827.0ms (12.4%)

Counts
4 → 45
Calls

4 calls:

364.0ms
(-.f64 (+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b))) 1)
352.0ms
(+.f64 (+.f64 (pow.f64 a 4) (+.f64 (pow.f64 b 4) (*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2))))) (*.f64 4 (*.f64 b b)))
88.0ms
(*.f64 (*.f64 a a) (*.f64 b (*.f64 b 2)))
24.0ms
(*.f64 4 (*.f64 b b))
Compiler

Compiled 1334 to 1174 computations (12% saved)

simplify64.0ms (1%)

Algorithm
egg-herbie
Counts
128 → 128
Iterations

Useful iterations: 0 (40.0ms)

IterNodesCost
051522680

prune153.0ms (2.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1280128
Fresh099
Picked011
Done000
Total12810138
Error
2.2b
Counts
138 → 10
Compiler

Compiled 3437 to 2106 computations (38.7% saved)

localize15.0ms (0.2%)

Local error

Found 8 expressions with local error:

0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))
0.0b
(+.f64 1 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
13.6b
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
13.6b
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))

rewrite33.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64_100
10×add-cube-cbrt_binary64_113 *-un-lft-identity_binary64_78
pow1_binary64_139
sqrt-prod_binary64_94 unpow-prod-down_binary64_157 add-exp-log_binary64_116 pow-unpow_binary64_155
add-cbrt-cube_binary64_114 add-log-exp_binary64_117 sqrt-div_binary64_95
pow-exp_binary64_146 pow-to-exp_binary64_147 sqrt-pow1_binary64_96 flip-+_binary64_52 rem-sqrt-square_binary64_91 unpow2_binary64_143 sqr-pow_binary64_50 pow-pow_binary64_150 pow1/2_binary64_158 flip3-+_binary64_81
Counts
4 → 66
Calls

8 calls:

9.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
7.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.0ms
(+.f64 1 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))))

series687.0ms (10.3%)

Counts
4 → 63
Calls

4 calls:

193.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
183.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
181.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
129.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
Compiler

Compiled 3552 to 2668 computations (24.9% saved)

simplify50.0ms (0.7%)

Algorithm
egg-herbie
Counts
129 → 129
Iterations

Useful iterations: 0 (27.0ms)

IterNodesCost
052652496

prune242.0ms (3.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1245129
Fresh448
Picked101
Done011
Total12910139
Error
2.1b
Counts
139 → 10
Compiler

Compiled 5475 to 2667 computations (51.3% saved)

localize14.0ms (0.2%)

Local error

Found 8 expressions with local error:

0.0b
(+.f64 1 (+.f64 (*.f64 a a) (*.f64 b b)))
0.0b
(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.0b
(+.f64 (*.f64 a a) (*.f64 b b))
0.0b
(*.f64 (*.f64 b b) 4)
0.2b
(*.f64 (+.f64 1 (+.f64 (*.f64 a a) (*.f64 b b))) (+.f64 -1 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))
0.3b
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
13.6b
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))

rewrite43.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
14×add-sqr-sqrt_binary64_100 *-un-lft-identity_binary64_78
13×pow1_binary64_139
12×add-exp-log_binary64_116
11×add-cbrt-cube_binary64_114
10×add-cube-cbrt_binary64_113
flip-+_binary64_52 associate-*r*_binary64_18 flip3-+_binary64_81
associate-*l*_binary64_19
add-log-exp_binary64_117 cbrt-unprod_binary64_111 prod-exp_binary64_127 frac-times_binary64_88 pow-prod-down_binary64_149
sqrt-prod_binary64_94 unpow-prod-down_binary64_157 pow-unpow_binary64_155
*-commutative_binary64_9 associate-*l/_binary64_21 unswap-sqr_binary64_46 sqrt-div_binary64_95 associate-*r/_binary64_20 distribute-lft-out_binary64_29
distribute-lft-in_binary64_27 pow-exp_binary64_146 pow-to-exp_binary64_147 sqrt-pow1_binary64_96 rem-sqrt-square_binary64_91 unpow2_binary64_143 distribute-rgt-in_binary64_28 sqr-pow_binary64_50 pow-pow_binary64_150 pow1/2_binary64_158
Counts
4 → 82
Calls

8 calls:

17.0ms
(*.f64 (+.f64 1 (+.f64 (*.f64 a a) (*.f64 b b))) (+.f64 -1 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))
7.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
5.0ms
(*.f64 (*.f64 b b) 4)
5.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
0.0ms
(+.f64 (*.f64 a a) (*.f64 b b))

series816.0ms (12.3%)

Counts
4 → 54
Calls

4 calls:

428.0ms
(*.f64 (+.f64 1 (+.f64 (*.f64 a a) (*.f64 b b))) (+.f64 -1 (sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))))
186.0ms
(sqrt.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2) (*.f64 (*.f64 b b) 4)))
179.0ms
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) 2)
23.0ms
(*.f64 (*.f64 b b) 4)
Compiler

Compiled 2769 to 2216 computations (20% saved)

simplify79.0ms (1.2%)

Algorithm
egg-herbie
Counts
136 → 136
Iterations

Useful iterations: 0 (47.0ms)

IterNodesCost
050713738

prune180.0ms (2.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1351136
Fresh088
Picked101
Done011
Total13610146
Error
2.1b
Counts
146 → 10
Compiler

Compiled 4591 to 2058 computations (55.2% saved)

regimes701.0ms (10.5%)

Accuracy

Total -2.3b remaining (-6250.9%)

Threshold costs -2.3b (-6250.9%)

Compiler

Compiled 8933 to 5737 computations (35.8% saved)

bsearch0.0ms (0%)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (1.0ms)

IterNodesCost
03537
13537

end4.0ms (0.1%)

Compiler

Compiled 89 to 62 computations (30.3% saved)

sample1.6s (23.6%)

Algorithm
intervals
Results
460.0ms8000×body128valid
0.0msbody128invalid
Compiler

Compiled 1361 to 888 computations (34.8% saved)

Pareto

-0.33802945985230737

Profiling

Loading profile data...