int is_eligible_distance(double point1x, double point1y, double point2x,
                         double point2y, int width, int height) {
  const int thresh = (width < height ? height : width) >> 4;
  return ((point1x - point2x) * (point1x - point2x) +
          (point1y - point2y) * (point1y - point2y)) <= thresh * thresh;
}


x86 assembly (clang, -O0):
<is_eligible_distance>:
push   %rbp
mov    %rsp,%rbp
movsd  %xmm0,-0x8(%rbp)
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm2,-0x18(%rbp)
movsd  %xmm3,-0x20(%rbp)
mov    %edi,-0x24(%rbp)
mov    %esi,-0x28(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0x28(%rbp),%eax
jge    1135 <is_eligible_distance+0x35>
mov    -0x28(%rbp),%eax
mov    %eax,-0x30(%rbp)
jmp    113b <is_eligible_distance+0x3b>
mov    -0x24(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x30(%rbp),%eax
sar    $0x4,%eax
mov    %eax,-0x2c(%rbp)
movsd  -0x8(%rbp),%xmm1
subsd  -0x18(%rbp),%xmm1
movsd  -0x8(%rbp),%xmm2
subsd  -0x18(%rbp),%xmm2
movsd  -0x10(%rbp),%xmm0
subsd  -0x20(%rbp),%xmm0
movsd  -0x10(%rbp),%xmm3
subsd  -0x20(%rbp),%xmm3
mulsd  %xmm3,%xmm0
mulsd  %xmm2,%xmm1
addsd  %xmm0,%xmm1
mov    -0x2c(%rbp),%eax
imul   -0x2c(%rbp),%eax
cvtsi2sd %eax,%xmm0
ucomisd %xmm1,%xmm0
setae  %al
and    $0x1,%al
movzbl %al,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<is_eligible_distance>:
cmp    %esi,%edi
cmovl  %esi,%edi
sar    $0x4,%edi
subsd  %xmm2,%xmm0
subsd  %xmm3,%xmm1
mulsd  %xmm1,%xmm1
mulsd  %xmm0,%xmm0
addsd  %xmm1,%xmm0
imul   %edi,%edi
xorps  %xmm1,%xmm1
cvtsi2sd %edi,%xmm1
xor    %eax,%eax
ucomisd %xmm0,%xmm1
setae  %al
ret

LLVM IR (-O0):
define i32 @is_eligible_distance(double %0, double %1, double %2, double %3, i32 %4, i32 %5) {
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
store double %0, double* %7
store double %1, double* %8
store double %2, double* %9
store double %3, double* %10
store i32 %4, i32* %11
store i32 %5, i32* %12
%14 = load i32, i32* %11
%15 = load i32, i32* %12
%16 = icmp slt i32 %14, %15
br i1 %16, label %17, label %19
17: ; preds = %6
%18 = load i32, i32* %12
br label %21
19: ; preds = %6
%20 = load i32, i32* %11
br label %21
21: ; preds = %19, %17
%22 = phi i32 [ %18, %17 ], [ %20, %19 ]
%23 = ashr i32 %22, 4
store i32 %23, i32* %13
%24 = load double, double* %7
%25 = load double, double* %9
%26 = fsub double %24, %25
%27 = load double, double* %7
%28 = load double, double* %9
%29 = fsub double %27, %28
%30 = load double, double* %8
%31 = load double, double* %10
%32 = fsub double %30, %31
%33 = load double, double* %8
%34 = load double, double* %10
%35 = fsub double %33, %34
%36 = fmul double %32, %35
%37 = call double @llvm.fmuladd.f64(double %26, double %29, double %36)
%38 = load i32, i32* %13
%39 = load i32, i32* %13
%40 = mul nsw i32 %38, %39
%41 = sitofp i32 %40 to double
%42 = fcmp ole double %37, %41
%43 = zext i1 %42 to i32
ret i32 %43
}

LLVM IR (-O2):
define i32 @is_eligible_distance(double %0, double %1, double %2, double %3, i32 %4, i32 %5) {
%7 = icmp slt i32 %4, %5
%8 = select i1 %7, i32 %5, i32 %4
%9 = ashr i32 %8, 4
%10 = fsub double %0, %2
%11 = fsub double %1, %3
%12 = fmul double %11, %11
%13 = tail call double @llvm.fmuladd.f64(double %10, double %10, double %12)
%14 = mul nsw i32 %9, %9
%15 = sitofp i32 %14 to double
%16 = fcmp ole double %13, %15
%17 = zext i1 %16 to i32
ret i32 %17
}