int mda_stopping_points(unsigned int num_interfaces, unsigned int confidence) {
  static const int k[][2] = {
      {0, 0},     {0, 0},     {6, 8},     {11, 15},   {16, 21},   {21, 28},
      {27, 36},   {33, 43},   {38, 51},   {44, 58},   {51, 66},   {57, 74},
      {63, 82},   {70, 90},   {76, 98},   {83, 106},  {90, 115},  {96, 123},
      {103, 132}, {110, 140}, {117, 149}, {124, 157}, {131, 166}, {138, 175},
      {145, 183}, {152, 192}, {159, 201}, {167, 210}, {174, 219}, {181, 228},
      {189, 237}, {196, 246}, {203, 255}, {211, 264}, {218, 273}, {226, 282},
      {233, 291}, {241, 300}, {248, 309}, {256, 319}, {264, 328}, {271, 337},
      {279, 347}, {287, 356}, {294, 365}, {302, 375}, {310, 384}, {318, 393},
      {326, 403}, {333, 412}, {341, 422}, {349, 431}, {357, 441}, {365, 450},
      {373, 460}, {381, 470}, {389, 479}, {397, 489}, {405, 499}, {413, 508},
      {421, 518}, {429, 528}, {437, 537}, {445, 547}, {453, 557}, {462, 566},
      {470, 576}, {478, 586}, {486, 596}, {494, 606}, {502, 616}, {511, 625},
      {519, 635}, {527, 645}, {535, 655}, {544, 665}, {552, 675}, {560, 685},
      {569, 695}, {577, 705}, {585, 715}, {594, 725}, {602, 735}, {610, 745},
      {619, 755}, {627, 765}, {635, 775}, {644, 785}, {652, 795}, {661, 805},
      {669, 815}, {678, 825}, {686, 835}, {695, 845}, {703, 855}, {712, 866},
      {720, 876}, {729, 886}, {737, 896}, {746, 906},
  };
  return k[num_interfaces][(confidence == 95) ? 0 : 1];
}


x86 assembly (clang, -O0):
<mda_stopping_points>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    -0x4(%rbp),%eax
mov    %eax,%ecx
lea    0xeea(%rip),%rax
shl    $0x3,%rcx
add    %rcx,%rax
mov    -0x8(%rbp),%esi
mov    $0x1,%ecx
xor    %edx,%edx
cmp    $0x5f,%esi
cmove  %edx,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,4),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<mda_stopping_points>:
mov    %edi,%eax
xor    %ecx,%ecx
cmp    $0x5f,%esi
setne  %cl
lea    0xeef(%rip),%rdx
lea    (%rdx,%rax,8),%rax
mov    (%rax,%rcx,4),%eax
ret

LLVM IR (-O0):
@mda_stopping_points.k = internal constant [100 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 6, i32 8], [2 x i32] [i32 11, i32 15], [2 x i32] [i32 16, i32 21], [2 x i32] [i32 21, i32 28], [2 x i32] [i32 27, i32 36], [2 x i32] [i32 33, i32 43], [2 x i32] [i32 38, i32 51], [2 x i32] [i32 44, i32 58], [2 x i32] [i32 51, i32 66], [2 x i32] [i32 57, i32 74], [2 x i32] [i32 63, i32 82], [2 x i32] [i32 70, i32 90], [2 x i32] [i32 76, i32 98], [2 x i32] [i32 83, i32 106], [2 x i32] [i32 90, i32 115], [2 x i32] [i32 96, i32 123], [2 x i32] [i32 103, i32 132], [2 x i32] [i32 110, i32 140], [2 x i32] [i32 117, i32 149], [2 x i32] [i32 124, i32 157], [2 x i32] [i32 131, i32 166], [2 x i32] [i32 138, i32 175], [2 x i32] [i32 145, i32 183], [2 x i32] [i32 152, i32 192], [2 x i32] [i32 159, i32 201], [2 x i32] [i32 167, i32 210], [2 x i32] [i32 174, i32 219], [2 x i32] [i32 181, i32 228], [2 x i32] [i32 189, i32 237], [2 x i32] [i32 196, i32 246], [2 x i32] [i32 203, i32 255], [2 x i32] [i32 211, i32 264], [2 x i32] [i32 218, i32 273], [2 x i32] [i32 226, i32 282], [2 x i32] [i32 233, i32 291], [2 x i32] [i32 241, i32 300], [2 x i32] [i32 248, i32 309], [2 x i32] [i32 256, i32 319], [2 x i32] [i32 264, i32 328], [2 x i32] [i32 271, i32 337], [2 x i32] [i32 279, i32 347], [2 x i32] [i32 287, i32 356], [2 x i32] [i32 294, i32 365], [2 x i32] [i32 302, i32 375], [2 x i32] [i32 310, i32 384], [2 x i32] [i32 318, i32 393], [2 x i32] [i32 326, i32 403], [2 x i32] [i32 333, i32 412], [2 x i32] [i32 341, i32 422], [2 x i32] [i32 349, i32 431], [2 x i32] [i32 357, i32 441], [2 x i32] [i32 365, i32 450], [2 x i32] [i32 373, i32 460], [2 x i32] [i32 381, i32 470], [2 x i32] [i32 389, i32 479], [2 x i32] [i32 397, i32 489], [2 x i32] [i32 405, i32 499], [2 x i32] [i32 413, i32 508], [2 x i32] [i32 421, i32 518], [2 x i32] [i32 429, i32 528], [2 x i32] [i32 437, i32 537], [2 x i32] [i32 445, i32 547], [2 x i32] [i32 453, i32 557], [2 x i32] [i32 462, i32 566], [2 x i32] [i32 470, i32 576], [2 x i32] [i32 478, i32 586], [2 x i32] [i32 486, i32 596], [2 x i32] [i32 494, i32 606], [2 x i32] [i32 502, i32 616], [2 x i32] [i32 511, i32 625], [2 x i32] [i32 519, i32 635], [2 x i32] [i32 527, i32 645], [2 x i32] [i32 535, i32 655], [2 x i32] [i32 544, i32 665], [2 x i32] [i32 552, i32 675], [2 x i32] [i32 560, i32 685], [2 x i32] [i32 569, i32 695], [2 x i32] [i32 577, i32 705], [2 x i32] [i32 585, i32 715], [2 x i32] [i32 594, i32 725], [2 x i32] [i32 602, i32 735], [2 x i32] [i32 610, i32 745], [2 x i32] [i32 619, i32 755], [2 x i32] [i32 627, i32 765], [2 x i32] [i32 635, i32 775], [2 x i32] [i32 644, i32 785], [2 x i32] [i32 652, i32 795], [2 x i32] [i32 661, i32 805], [2 x i32] [i32 669, i32 815], [2 x i32] [i32 678, i32 825], [2 x i32] [i32 686, i32 835], [2 x i32] [i32 695, i32 845], [2 x i32] [i32 703, i32 855], [2 x i32] [i32 712, i32 866], [2 x i32] [i32 720, i32 876], [2 x i32] [i32 729, i32 886], [2 x i32] [i32 737, i32 896], [2 x i32] [i32 746, i32 906]]
define i32 @mda_stopping_points(i32 %0, i32 %1) {
%3 = alloca i32
%4 = alloca i32
store i32 %0, i32* %3
store i32 %1, i32* %4
%5 = load i32, i32* %3
%6 = zext i32 %5 to i64
%7 = getelementptr inbounds [100 x [2 x i32]], [100 x [2 x i32]]* @mda_stopping_points.k, i64 0, i64 %6
%8 = load i32, i32* %4
%9 = icmp eq i32 %8, 95
%10 = zext i1 %9 to i64
%11 = select i1 %9, i32 0, i32 1
%12 = sext i32 %11 to i64
%13 = getelementptr inbounds [2 x i32], [2 x i32]* %7, i64 0, i64 %12
%14 = load i32, i32* %13
ret i32 %14
}

LLVM IR (-O2):
@mda_stopping_points.k = internal unnamed_addr constant [100 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 6, i32 8], [2 x i32] [i32 11, i32 15], [2 x i32] [i32 16, i32 21], [2 x i32] [i32 21, i32 28], [2 x i32] [i32 27, i32 36], [2 x i32] [i32 33, i32 43], [2 x i32] [i32 38, i32 51], [2 x i32] [i32 44, i32 58], [2 x i32] [i32 51, i32 66], [2 x i32] [i32 57, i32 74], [2 x i32] [i32 63, i32 82], [2 x i32] [i32 70, i32 90], [2 x i32] [i32 76, i32 98], [2 x i32] [i32 83, i32 106], [2 x i32] [i32 90, i32 115], [2 x i32] [i32 96, i32 123], [2 x i32] [i32 103, i32 132], [2 x i32] [i32 110, i32 140], [2 x i32] [i32 117, i32 149], [2 x i32] [i32 124, i32 157], [2 x i32] [i32 131, i32 166], [2 x i32] [i32 138, i32 175], [2 x i32] [i32 145, i32 183], [2 x i32] [i32 152, i32 192], [2 x i32] [i32 159, i32 201], [2 x i32] [i32 167, i32 210], [2 x i32] [i32 174, i32 219], [2 x i32] [i32 181, i32 228], [2 x i32] [i32 189, i32 237], [2 x i32] [i32 196, i32 246], [2 x i32] [i32 203, i32 255], [2 x i32] [i32 211, i32 264], [2 x i32] [i32 218, i32 273], [2 x i32] [i32 226, i32 282], [2 x i32] [i32 233, i32 291], [2 x i32] [i32 241, i32 300], [2 x i32] [i32 248, i32 309], [2 x i32] [i32 256, i32 319], [2 x i32] [i32 264, i32 328], [2 x i32] [i32 271, i32 337], [2 x i32] [i32 279, i32 347], [2 x i32] [i32 287, i32 356], [2 x i32] [i32 294, i32 365], [2 x i32] [i32 302, i32 375], [2 x i32] [i32 310, i32 384], [2 x i32] [i32 318, i32 393], [2 x i32] [i32 326, i32 403], [2 x i32] [i32 333, i32 412], [2 x i32] [i32 341, i32 422], [2 x i32] [i32 349, i32 431], [2 x i32] [i32 357, i32 441], [2 x i32] [i32 365, i32 450], [2 x i32] [i32 373, i32 460], [2 x i32] [i32 381, i32 470], [2 x i32] [i32 389, i32 479], [2 x i32] [i32 397, i32 489], [2 x i32] [i32 405, i32 499], [2 x i32] [i32 413, i32 508], [2 x i32] [i32 421, i32 518], [2 x i32] [i32 429, i32 528], [2 x i32] [i32 437, i32 537], [2 x i32] [i32 445, i32 547], [2 x i32] [i32 453, i32 557], [2 x i32] [i32 462, i32 566], [2 x i32] [i32 470, i32 576], [2 x i32] [i32 478, i32 586], [2 x i32] [i32 486, i32 596], [2 x i32] [i32 494, i32 606], [2 x i32] [i32 502, i32 616], [2 x i32] [i32 511, i32 625], [2 x i32] [i32 519, i32 635], [2 x i32] [i32 527, i32 645], [2 x i32] [i32 535, i32 655], [2 x i32] [i32 544, i32 665], [2 x i32] [i32 552, i32 675], [2 x i32] [i32 560, i32 685], [2 x i32] [i32 569, i32 695], [2 x i32] [i32 577, i32 705], [2 x i32] [i32 585, i32 715], [2 x i32] [i32 594, i32 725], [2 x i32] [i32 602, i32 735], [2 x i32] [i32 610, i32 745], [2 x i32] [i32 619, i32 755], [2 x i32] [i32 627, i32 765], [2 x i32] [i32 635, i32 775], [2 x i32] [i32 644, i32 785], [2 x i32] [i32 652, i32 795], [2 x i32] [i32 661, i32 805], [2 x i32] [i32 669, i32 815], [2 x i32] [i32 678, i32 825], [2 x i32] [i32 686, i32 835], [2 x i32] [i32 695, i32 845], [2 x i32] [i32 703, i32 855], [2 x i32] [i32 712, i32 866], [2 x i32] [i32 720, i32 876], [2 x i32] [i32 729, i32 886], [2 x i32] [i32 737, i32 896], [2 x i32] [i32 746, i32 906]]
define i32 @mda_stopping_points(i32 %0, i32 %1) {
%3 = zext i32 %0 to i64
%4 = icmp ne i32 %1, 95
%5 = zext i1 %4 to i64
%6 = getelementptr inbounds [100 x [2 x i32]], [100 x [2 x i32]]* @mda_stopping_points.k, i64 0, i64 %3, i64 %5
%7 = load i32, i32* %6
ret i32 %7
}