Details

Time bar (total: 7.3s)

analyze151.0ms (2.1%)

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%50%50%4
0%50%50%5
12.5%37.5%50%6
18.7%31.2%50%7
28.1%21.9%50%8
32.8%17.2%50%9
38.2%11.7%50%10
41%9%50%11
43.9%6%50%12
45.4%4.6%50%13
46.9%3.1%50%14
Compiler

Compiled 31 to 22 computations (29% saved)

sample1.3s (18.1%)

Results
1.3s8256×body128valid
1.0msbody128invalid
Compiler

Compiled 92 to 65 computations (29.3% saved)

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
826×times-frac_binary64
592×fma-def_binary64
509×associate-/r*_binary64
353×associate-/l*_binary64
343×div-sub_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02043
15843
217938
382436
4388236
5502936

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
Compiler

Compiled 106 to 73 computations (31.1% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))
0.3b
(*.f64 (PI.f64) t)
0.3b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
0.4b
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))

series200.0ms (2.7%)

Counts
4 → 72
Calls

4 calls:

133.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
49.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
15.0ms
(*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))
2.0ms
(*.f64 (PI.f64) t)

rewrite40.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
34×add-cbrt-cube_binary64
34×add-exp-log_binary64
25×distribute-lft-in_binary64
25×distribute-rgt-in_binary64
20×add-sqr-sqrt_binary64
Counts
4 → 131
Calls

4 calls:

10.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
9.0ms
(*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
6.0ms
(*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))
3.0ms
(*.f64 (PI.f64) t)

simplify119.0ms (1.6%)

Algorithm
egg-herbie
Rules
563×associate-*r*_binary64
513×associate-*l*_binary64
460×associate-/r*_binary64
416×times-frac_binary64
245×associate-/l*_binary64
Counts
203 → 226
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04447617
112476841
252236841

prune313.0ms (4.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2206226
Fresh000
Picked011
Done000
Total2207227
Error
0.0b
Counts
227 → 7
Alt Table
StatusErrorProgram
0.4b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
0.4b
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
43.4b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))) (/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))) (/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))))
1.0b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 -6 v) 2)) (cbrt.f64 (fma.f64 v (*.f64 -6 v) 2)))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))))
0.6b
(*.f64 (/.f64 (-.f64 1 (*.f64 5 (pow.f64 v 2))) (*.f64 (-.f64 (PI.f64) (*.f64 (pow.f64 v 2) (PI.f64))) t)) (sqrt.f64 (/.f64 1 (-.f64 2 (*.f64 6 (pow.f64 v 2))))))
0.8b
(-.f64 (fma.f64 3/4 (/.f64 (*.f64 v v) (*.f64 (*.f64 (PI.f64) t) (sqrt.f64 1/2))) (/.f64 (sqrt.f64 1/2) (*.f64 (PI.f64) t))) (*.f64 4 (*.f64 (/.f64 (sqrt.f64 1/2) (*.f64 (PI.f64) t)) (*.f64 v v))))
0.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
Compiler

Compiled 9685 to 6008 computations (38% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))
0.3b
(*.f64 (PI.f64) t)
0.4b
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
1.0b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

series158.0ms (2.2%)

Counts
2 → 36
Calls

2 calls:

146.0ms
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
12.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

rewrite26.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
76×times-frac_binary64
43×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
43×add-cube-cbrt_binary64
30×sqrt-prod_binary64
Counts
2 → 113
Calls

2 calls:

11.0ms
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
3.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

simplify152.0ms (2.1%)

Algorithm
egg-herbie
Rules
879×fma-def_binary64
419×associate-/r*_binary64
279×times-frac_binary64
276×associate-/l*_binary64
250×associate-*l*_binary64
Counts
149 → 220
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04367537
112366895
248076872
355276872

prune375.0ms (5.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2863289
Fresh415
Picked011
Done101
Total2915296
Error
0b
Counts
296 → 5
Alt Table
StatusErrorProgram
0.5b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))) (*.f64 (PI.f64) t)) (/.f64 (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))) (-.f64 1 (*.f64 v v))))
0.8b
(/.f64 (-.f64 (fma.f64 3/4 (/.f64 (*.f64 v v) (sqrt.f64 1/2)) (sqrt.f64 1/2)) (*.f64 5 (*.f64 (sqrt.f64 1/2) (*.f64 v v)))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.4b
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.4b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))
0.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
Compiler

Compiled 12201 to 8009 computations (34.4% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))
0.3b
(*.f64 (PI.f64) t)
0.3b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))
0.4b
(*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

series189.0ms (2.6%)

Counts
2 → 48
Calls

2 calls:

145.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))
44.0ms
(*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

rewrite25.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
25×add-cbrt-cube_binary64
25×add-exp-log_binary64
12×cbrt-unprod_binary64
12×prod-exp_binary64
11×pow1_binary64
Counts
2 → 57
Calls

2 calls:

12.0ms
(*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))
8.0ms
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))

simplify127.0ms (1.7%)

Algorithm
egg-herbie
Rules
791×fma-def_binary64
401×associate-*l*_binary64
391×associate-/r*_binary64
374×associate-*r*_binary64
333×times-frac_binary64
Counts
105 → 139
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03785364
111494796
247084771
354734771

prune237.0ms (3.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2080208
Fresh033
Picked011
Done011
Total2085213
Error
0b
Counts
213 → 5
Alt Table
StatusErrorProgram
0.5b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))) (*.f64 (PI.f64) t)) (/.f64 (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))) (-.f64 1 (*.f64 v v))))
0.8b
(/.f64 (-.f64 (fma.f64 3/4 (/.f64 (*.f64 v v) (sqrt.f64 1/2)) (sqrt.f64 1/2)) (*.f64 5 (*.f64 (sqrt.f64 1/2) (*.f64 v v)))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.4b
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.4b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))
0.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
Compiler

Compiled 8565 to 5395 computations (37% saved)

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.3b
(*.f64 (PI.f64) t)
0.4b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
1.0b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

series756.0ms (10.3%)

Counts
3 → 60
Calls

3 calls:

591.0ms
(/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
142.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
23.0ms
(/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

rewrite56.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
71×add-exp-log_binary64
49×add-cbrt-cube_binary64
29×cbrt-unprod_binary64
29×prod-exp_binary64
26×times-frac_binary64
Counts
3 → 125
Calls

3 calls:

24.0ms
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
6.0ms
(/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
5.0ms
(/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))

simplify160.0ms (2.2%)

Algorithm
egg-herbie
Rules
581×associate-/r*_binary64
460×times-frac_binary64
351×fma-def_binary64
325×associate-*l/_binary64
301×associate-/l*_binary64
Counts
185 → 260
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
059911569
117479630
252579630

prune443.0ms (6.1%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2810281
Fresh022
Picked011
Done022
Total2815286
Error
0b
Counts
286 → 5
Alt Table
StatusErrorProgram
0.5b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))) (*.f64 (PI.f64) t)) (/.f64 (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2)))) (-.f64 1 (*.f64 v v))))
0.8b
(/.f64 (-.f64 (fma.f64 3/4 (/.f64 (*.f64 v v) (sqrt.f64 1/2)) (sqrt.f64 1/2)) (*.f64 5 (*.f64 (sqrt.f64 1/2) (*.f64 v v)))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.4b
(/.f64 (/.f64 (fma.f64 v (*.f64 v -5) 1) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))))
0.4b
(/.f64 (fma.f64 v (*.f64 v -5) 1) (*.f64 (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))))
0.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (cbrt.f64 (fma.f64 v (*.f64 v -5) 1))) (sqrt.f64 (fma.f64 v (*.f64 -6 v) 2))) (/.f64 (cbrt.f64 (fma.f64 v (*.f64 v -5) 1)) (*.f64 (*.f64 (PI.f64) t) (-.f64 1 (*.f64 v v)))))
Compiler

Compiled 17077 to 11921 computations (30.2% saved)

regimes2.2s (30.3%)

Accuracy

Total 0.3b remaining (84%)

Threshold costs 0.3b (84%)

Counts
263 → 1
Compiler

Compiled 59526 to 43549 computations (26.8% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02053
13953
25953
37153
48053
58353
68153

end141.0ms (1.9%)

Compiler

Compiled 260 to 197 computations (24.2% saved)

Profiling

Loading profile data...