Can you help me rewrite this decompiled C program to make it developer-friendly and readable?
__int64 __fastcall sub_11A8() {
  __int64 v0; // rbp
  double v1; // xmm0_8
  double v2; // xmm0_8
  double v4; // [rsp-3E0h] [rbp-3E8h]
  double v5; // [rsp-3E0h] [rbp-3E8h]
  int v6; // [rsp-3C4h] [rbp-3CCh] BYREF
  int i; // [rsp-3C0h] [rbp-3C8h]
  unsigned int v8; // [rsp-3BCh] [rbp-3C4h]
  double v9; // [rsp-3B8h] [rbp-3C0h] BYREF
  double v10; // [rsp-3B0h] [rbp-3B8h] BYREF
  double v11; // [rsp-3A8h] [rbp-3B0h] BYREF
  double v12; // [rsp-3A0h] [rbp-3A8h] BYREF
  double v13; // [rsp-398h] [rbp-3A0h]
  double v14; // [rsp-390h] [rbp-398h]
  _QWORD v15[2]; // [rsp-388h] [rbp-390h] BYREF
  double v16; // [rsp-378h] [rbp-380h]
  unsigned __int64 v17; // [rsp-10h] [rbp-18h]
  __int64 v18; // [rsp-8h] [rbp-10h]
  v18 = v0;
  v17 = __readfsqword(0x28u);
  __isoc99_scanf("%d%lf%lf", &v6, &v11, &v12);
  for ( i = 1; i <= v6; ++i )
    __isoc99_scanf("%lf", &v15[i]);
  __isoc99_scanf("%lf%lf", &v9, &v10);
  v8 = 2;
  v4 = v16 / v11;
  v1 = sqrt(v10 * v10 + (v16 - v9) * (v16 - v9));
  v13 = v1 / v12 + v4;
  for ( i = 3; i <= v6; ++i ) {
    v5 = *(double *)&v15[i] / v11;
    v2 = sqrt(v10 * v10 + (*(double *)&v15[i] - v9) * (*(double *)&v15[i] - v9));
    v14 = v2 / v12 + v5;
    if ( v13 >= v14 ) {
      v13 = v14;
      v8 = i;
    }
  }
  printf("%d\n", v8);
  return 0LL;
} Your response should contain 250+ words.
user