Details

Time bar (total: 44.8s)

sample1.0s

Algorithm
halfpoints
Results

simplify192.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
192.0ms
(sqrt.p16 (*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)))

prune24.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.2b

localize200.0ms

Local error

Found 4 expressions with local error:

0.5b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.5b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)
0.4b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)
0.2b
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))

rewrite102.0ms

Algorithm
rewrite-expression-head
Rules
associate-*l/ p16-flip--
sub-neg
associate-*r/
distribute-rgt-in distribute-lft-in associate-*l* *-commutative
Counts
4 → 14
Calls
4 calls:
Slowest
30.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
28.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
21.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)
21.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)

series0.0ms

Counts
4 → 4
Calls
4 calls:
Slowest
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)

simplify2.9s

Counts
11 → 18
Calls
11 calls:
Slowest
438.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (neg.p16 c))
401.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
388.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 b b))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
277.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
269.0ms
(*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a))

prune679.0ms

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.1b

localize369.0ms

Local error

Found 4 expressions with local error:

1.5b
(/.p16 (*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (+.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a))
0.5b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.5b
(-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))
0.4b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)

rewrite134.0ms

Algorithm
rewrite-expression-head
Rules
associate-*l/ p16-flip--
associate-/l/
sub-neg associate-*r/
associate-/l* difference-of-squares
Counts
4 → 12
Calls
4 calls:
Slowest
74.0ms
(/.p16 (*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (+.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a))
35.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
23.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)
3.0ms
(-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))

series0.0ms

Counts
4 → 4
Calls
4 calls:
Slowest
0.0ms
(/.p16 (*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (+.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a))
0.0ms
(-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)

simplify3.6s

Counts
11 → 16
Calls
11 calls:
Slowest
509.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
487.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 c c)))
433.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 b b))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
411.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)))) (*.p16 (*.p16 a a) (*.p16 a a)))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
389.0ms
(*.p16 (*.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))

prune489.0ms

Pruning

7 alts after pruning (6 fresh and 1 done)

Merged error: 0.1b

localize324.0ms

Local error

Found 4 expressions with local error:

1.6b
(/.p16 (*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (*.p16 (+.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a) (real->posit16 2)))
0.5b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.5b
(-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))
0.4b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)

rewrite65.0ms

Algorithm
rewrite-expression-head
Rules
p16-flip--
sub-neg associate-*l/ associate-*r/ associate-/l/
associate-/r* p16-times-frac associate-/l* difference-of-squares
Counts
4 → 13
Calls
4 calls:
Slowest
29.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)
25.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
8.0ms
(/.p16 (*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (*.p16 (+.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a) (real->posit16 2)))
3.0ms
(-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))

series0.0ms

Counts
4 → 4
Calls
4 calls:
Slowest
0.0ms
(/.p16 (*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (*.p16 (+.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a) (real->posit16 2)))
0.0ms
(-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)

simplify5.4s

Counts
13 → 17
Calls
13 calls:
Slowest
839.0ms
(/.p16 (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c) (real->posit16 2))
617.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 b b))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
587.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 c c)))
577.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
557.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))

prune980.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.1b

localize446.0ms

Local error

Found 4 expressions with local error:

0.5b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.5b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)
0.4b
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)
0.3b
(/.p16 (*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (real->posit16 2))

rewrite153.0ms

Algorithm
rewrite-expression-head
Rules
p16-flip--
sub-neg associate-*l/ associate-*r/ associate-/l/
associate-/l*
Counts
4 → 10
Calls
4 calls:
Slowest
48.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)
45.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
45.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)
14.0ms
(/.p16 (*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (real->posit16 2))

series0.0ms

Counts
4 → 4
Calls
4 calls:
Slowest
0.0ms
(/.p16 (*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)) (real->posit16 2))
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)
0.0ms
(-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c)

simplify3.0s

Counts
8 → 14
Calls
8 calls:
Slowest
549.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 a a))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
547.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 b b))) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
404.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (*.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2))) (*.p16 c c)))
389.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))
369.0ms
(*.p16 (*.p16 (*.p16 (+.p16 (+.p16 a b) c) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) a)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) b)) (-.p16 (/.p16 (+.p16 (+.p16 a b) c) (real->posit16 2)) c))

prune400.0ms

Pruning

6 alts after pruning (5 fresh and 1 done)

Merged error: 0.1b

regimes392.0ms

Accuracy

-∞% (-63.8b remaining)

Error of 0.2b against oracle of 64.0b and baseline of 64.0b

bsearch3.0ms

end0.0ms

sample23.9s

Algorithm
halfpoints
Results