From e56b4d2b614881e7e582614f53ed88583f2a90a7 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Sat, 6 Apr 2019 11:06:35 +0200 Subject: hand optimizations --- test/monniaux/binary_search/binary_search.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'test/monniaux/binary_search') diff --git a/test/monniaux/binary_search/binary_search.c b/test/monniaux/binary_search/binary_search.c index 6be80c59..281c94c0 100644 --- a/test/monniaux/binary_search/binary_search.c +++ b/test/monniaux/binary_search/binary_search.c @@ -42,8 +42,10 @@ int my_bsearch3 (data *a, index n, data x) { index i = 0, j = n - 1, k; while (i <= j) { k = (i + j) / 2; - i = TERNARY32(a[k] < x, k+1, i); - j = TERNARY32(a[k] > x, k-1, j); + index kp1 = k+1, km1 = k-1; + _Bool lt = a[k] < x, gt = a[k] > x; + i = TERNARY32(lt, kp1, i); + j = TERNARY32(gt, km1, j); if (a[k] == x) { goto end; } -- cgit