aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtins/integers.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/builtins/integers.h b/builtins/integers.h
index 05085175..d3a9546b 100644
--- a/builtins/integers.h
+++ b/builtins/integers.h
@@ -128,9 +128,9 @@ static inline Int_t Int$times(Int_t x, Int_t y) {
static inline Int_t Int$divided_by(Int_t x, Int_t y) {
if (__builtin_expect(((x.small & y.small) & 1) != 0, 1)) {
- const int64_t z = 4*(x.small>>1) / (y.small>>1);
+ const int64_t z = ((x.small>>1) / (y.small>>1)) << 2;
if (__builtin_expect(z == (int32_t)z, 1))
- return (Int_t){.small=z+1};
+ return (Int_t){.small=z|1};
}
return Int$slow_divided_by(x, y);
}