// File: jkingan[P]ladyheather/heathmsc.cpp
// Function: scale_adev(float)
float scale_adev(float val)
{
double check;
double mant;
double expo;
double v;

   // convert adev value into an decade_exponent.mantissa value
   // Warning: due to subtle rounding/truncation issues,  change
   //          anything in this routine at your own risk...
if(ATYPE == A_MTIE) return val;

   if(val > 1.0e0F) {
      val = (float) (0.0F);
      return val;
   }
   else if(val > 1.0e-1F) {
      val = (float) ((-1.0F) + (val/1.0e-0F));
   }
   else if(val > 1.0e-2F) {
      val = (float) ((-2.0F) + (val/1.0e-1F));
   }
   else if(val > 1.0e-3F) {
      val = (float) ((-3.0F) + (val/1.0e-2F));
   }
   else if(val > 1.0e-4F) {
      val = (float) ((-4.0F) + (val/1.0e-3F));
   }
   else if(val > 1.0e-5F) {
      val = (float) ((-5.0F) + (val/1.0e-4F));
   }
   else if(val > 1.0e-6F) {
      val = (float) ((-6.0F) + (val/1.0e-5F));
   }
   else if(val > 1.0e-7F) {
      val = (float) ((-7.0F) + (val/1.0e-6F));
   }
   else if(val > 1.0e-8F) {
      val = (float) ((-8.0F) + (val/1.0e-7F));
   }
   else if(val > 1.0e-9F) {
      val = (float) ((-9.0F) + (val/1.0e-8F));
   }
   else if(val > 1.0e-10F) {
      val = (float) ((-10.0F) + (val/1.0e-9F));
   }
   else if(val > 1.0e-11F) {
      val = (float) ((-11.0F) + (val/1.0e-10F));
   }
   else if(val > 1.0e-12F) {
      val = (float) ((-12.0F) + (val/1.0e-11F));
   }
   else if(val > 1.0e-13F) {
      val = (float) ((-13.0F) + (val/1.0e-12F));
   }
   else if(val > 1.0e-14F) {
      val = (float) ((-14.0F) + (val/1.0e-13F));
   }
   else if(val > 1.0e-15F) {
      val = (float) ((-15.0F) + (val/1.0e-14F));
   }
   else if(val > 1.0e-16F) {
      val = (float) ((-16.0F) + (val/1.0e-15F));
   }
   else if(val > 1.0e-17F) {
      val = (float) ((-17.0F) + (val/1.0e-16F));
   }
   else if(val > 1.0e-18F) {
      val = (float) ((-18.0F) + (val/1.0e-17F));
   }
   else if(val > 1.0e-19F) {
      val = (float) ((-19.0F) + (val/1.0e-18F));
   }
   else if(val > 1.0e-20F) {
      val = (float) ((-20.0F) + (val/1.0e-19F));
   }
   else if(val > 1.0e-21F) {
      val = (float) ((-21.0F) + (val/1.0e-20F));
   }
   else if(val > 1.0e-22F) {
      val = (float) ((-22.0F) + (val/1.0e-21F));
   }
   else if(val > 1.0e-23F) {
      val = (float) ((-23.0F) + (val/1.0e-22F));
   }
   else if(val > 1.0e-24F) {
      val = (float) ((-24.0F) + (val/1.0e-23F));
   }
   else if(val > 1.0e-25F) {
      val = (float) ((-25.0F) + (val/1.0e-24F));
   }
   else if(val > 1.0e-26F) {
      val = (float) ((-26.0F) + (val/1.0e-25F));
   }
   else if(val > 1.0e-27F) {
      val = (float) ((-27.0F) + (val/1.0e-26F));
   }
   else if(val > 1.0e-28F) {
      val = (float) ((-28.0F) + (val/1.0e-27F));
   }
   else if(val > 1.0e-29F) {
      val = (float) ((-29.0F) + (val/1.0e-28F));
   }
   else val = (float) (-30.0F);

   return val;

   // this code has the rounding issues mentioned above...
   check = 1.0e-0;
   mant = (-1.0);
   expo = 1.0e+1;

   v = val;
   while(mant > (-30.0)) {
      if(v > check) {
         v = (mant + (val/expo));
         return (float) v;
      }
      check /= 10.0;
      mant -= 1.0;
      expo /= 10.0;
   }

   return (float) (-30.0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movss %xmm0, -0x8(%rbp)
leaq 0x123630(%rip), %rax    # 0x2827f0
cmpl $0x9, (%rax)
jne 0x15f1d4
movss -0x8(%rbp), %xmm0
movss %xmm0, -0x4(%rbp)
jmp 0x15f8ba
movss -0x8(%rbp), %xmm0
movss 0x1275b(%rip), %xmm1    # 0x17193c
ucomiss %xmm1, %xmm0
jbe 0x15f1fd
xorps %xmm0, %xmm0
movss %xmm0, -0x8(%rbp)
movss -0x8(%rbp), %xmm0
movss %xmm0, -0x4(%rbp)
jmp 0x15f8ba
movss -0x8(%rbp), %xmm0
movss 0x2412a(%rip), %xmm1    # 0x183334
ucomiss %xmm1, %xmm0
jbe 0x15f236
movss -0x8(%rbp), %xmm1
movss 0x12720(%rip), %xmm0    # 0x17193c
divss %xmm0, %xmm1
movss 0x12710(%rip), %xmm0    # 0x171938
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8ae
movss -0x8(%rbp), %xmm0
movss 0x2415d(%rip), %xmm1    # 0x1833a0
ucomiss %xmm1, %xmm0
jbe 0x15f26f
movss -0x8(%rbp), %xmm1
movss 0x240df(%rip), %xmm0    # 0x183334
divss %xmm0, %xmm1
movss 0x30053(%rip), %xmm0    # 0x18f2b4
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8ac
movss -0x8(%rbp), %xmm0
movss 0x24134(%rip), %xmm1    # 0x1833b0
ucomiss %xmm1, %xmm0
jbe 0x15f2a8
movss -0x8(%rbp), %xmm1
movss 0x24112(%rip), %xmm0    # 0x1833a0
divss %xmm0, %xmm1
movss 0x30016(%rip), %xmm0    # 0x18f2b0
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8aa
movss -0x8(%rbp), %xmm0
movss 0x2ff33(%rip), %xmm1    # 0x18f1e8
ucomiss %xmm1, %xmm0
jbe 0x15f2e1
movss -0x8(%rbp), %xmm1
movss 0x240e9(%rip), %xmm0    # 0x1833b0
divss %xmm0, %xmm1
movss 0x2ffd9(%rip), %xmm0    # 0x18f2ac
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8a8
movss -0x8(%rbp), %xmm0
movss 0x2fefe(%rip), %xmm1    # 0x18f1ec
ucomiss %xmm1, %xmm0
jbe 0x15f31a
movss -0x8(%rbp), %xmm1
movss 0x2fee8(%rip), %xmm0    # 0x18f1e8
divss %xmm0, %xmm1
movss 0x2ff9c(%rip), %xmm0    # 0x18f2a8
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8a6
movss -0x8(%rbp), %xmm0
movss 0x2fec9(%rip), %xmm1    # 0x18f1f0
ucomiss %xmm1, %xmm0
jbe 0x15f353
movss -0x8(%rbp), %xmm1
movss 0x2feb3(%rip), %xmm0    # 0x18f1ec
divss %xmm0, %xmm1
movss 0x2ff5f(%rip), %xmm0    # 0x18f2a4
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8a4
movss -0x8(%rbp), %xmm0
movss 0x2fe94(%rip), %xmm1    # 0x18f1f4
ucomiss %xmm1, %xmm0
jbe 0x15f38c
movss -0x8(%rbp), %xmm1
movss 0x2fe7e(%rip), %xmm0    # 0x18f1f0
divss %xmm0, %xmm1
movss 0x2ff22(%rip), %xmm0    # 0x18f2a0
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8a2
movss -0x8(%rbp), %xmm0
movss 0x2fe5f(%rip), %xmm1    # 0x18f1f8
ucomiss %xmm1, %xmm0
jbe 0x15f3c5
movss -0x8(%rbp), %xmm1
movss 0x2fe49(%rip), %xmm0    # 0x18f1f4
divss %xmm0, %xmm1
movss 0x2fee5(%rip), %xmm0    # 0x18f29c
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f8a0
movss -0x8(%rbp), %xmm0
movss 0x2fe2a(%rip), %xmm1    # 0x18f1fc
ucomiss %xmm1, %xmm0
jbe 0x15f3fe
movss -0x8(%rbp), %xmm1
movss 0x2fe14(%rip), %xmm0    # 0x18f1f8
divss %xmm0, %xmm1
movss 0x2fea8(%rip), %xmm0    # 0x18f298
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f89e
movss -0x8(%rbp), %xmm0
movss 0x23f31(%rip), %xmm1    # 0x18333c
ucomiss %xmm1, %xmm0
jbe 0x15f437
movss -0x8(%rbp), %xmm1
movss 0x2fddf(%rip), %xmm0    # 0x18f1fc
divss %xmm0, %xmm1
movss 0x2fe6b(%rip), %xmm0    # 0x18f294
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f89c
movss -0x8(%rbp), %xmm0
movss 0x2fdbc(%rip), %xmm1    # 0x18f200
ucomiss %xmm1, %xmm0
jbe 0x15f470
movss -0x8(%rbp), %xmm1
movss 0x23ee6(%rip), %xmm0    # 0x18333c
divss %xmm0, %xmm1
movss 0x2fe2e(%rip), %xmm0    # 0x18f290
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f89a
movss -0x8(%rbp), %xmm0
movss 0x23ebb(%rip), %xmm1    # 0x183338
ucomiss %xmm1, %xmm0
jbe 0x15f4a9
movss -0x8(%rbp), %xmm1
movss 0x2fd71(%rip), %xmm0    # 0x18f200
divss %xmm0, %xmm1
movss 0x2fdf1(%rip), %xmm0    # 0x18f28c
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f898
movss -0x8(%rbp), %xmm0
movss 0x2fd4e(%rip), %xmm1    # 0x18f204
ucomiss %xmm1, %xmm0
jbe 0x15f4e2
movss -0x8(%rbp), %xmm1
movss 0x23e70(%rip), %xmm0    # 0x183338
divss %xmm0, %xmm1
movss 0x2fdb4(%rip), %xmm0    # 0x18f288
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f896
movss -0x8(%rbp), %xmm0
movss 0x2fd19(%rip), %xmm1    # 0x18f208
ucomiss %xmm1, %xmm0
jbe 0x15f51b
movss -0x8(%rbp), %xmm1
movss 0x2fd03(%rip), %xmm0    # 0x18f204
divss %xmm0, %xmm1
movss 0x2fd77(%rip), %xmm0    # 0x18f284
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f894
movss -0x8(%rbp), %xmm0
movss 0x2fce4(%rip), %xmm1    # 0x18f20c
ucomiss %xmm1, %xmm0
jbe 0x15f554
movss -0x8(%rbp), %xmm1
movss 0x2fcce(%rip), %xmm0    # 0x18f208
divss %xmm0, %xmm1
movss 0x2fd3a(%rip), %xmm0    # 0x18f280
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f892
movss -0x8(%rbp), %xmm0
movss 0x2fcaf(%rip), %xmm1    # 0x18f210
ucomiss %xmm1, %xmm0
jbe 0x15f58d
movss -0x8(%rbp), %xmm1
movss 0x2fc99(%rip), %xmm0    # 0x18f20c
divss %xmm0, %xmm1
movss 0x2fcfd(%rip), %xmm0    # 0x18f27c
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f890
movss -0x8(%rbp), %xmm0
movss 0x2fc7a(%rip), %xmm1    # 0x18f214
ucomiss %xmm1, %xmm0
jbe 0x15f5c6
movss -0x8(%rbp), %xmm1
movss 0x2fc64(%rip), %xmm0    # 0x18f210
divss %xmm0, %xmm1
movss 0x2fcc0(%rip), %xmm0    # 0x18f278
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f88e
movss -0x8(%rbp), %xmm0
movss 0x2fc45(%rip), %xmm1    # 0x18f218
ucomiss %xmm1, %xmm0
jbe 0x15f5ff
movss -0x8(%rbp), %xmm1
movss 0x2fc2f(%rip), %xmm0    # 0x18f214
divss %xmm0, %xmm1
movss 0x2fc83(%rip), %xmm0    # 0x18f274
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f88c
movss -0x8(%rbp), %xmm0
movss 0x2fbd8(%rip), %xmm1    # 0x18f1e4
ucomiss %xmm1, %xmm0
jbe 0x15f638
movss -0x8(%rbp), %xmm1
movss 0x2fbfa(%rip), %xmm0    # 0x18f218
divss %xmm0, %xmm1
movss 0x2fc46(%rip), %xmm0    # 0x18f270
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f88a
movss -0x8(%rbp), %xmm0
movss 0x2fbd7(%rip), %xmm1    # 0x18f21c
ucomiss %xmm1, %xmm0
jbe 0x15f671
movss -0x8(%rbp), %xmm1
movss 0x2fb8d(%rip), %xmm0    # 0x18f1e4
divss %xmm0, %xmm1
movss 0x2fc09(%rip), %xmm0    # 0x18f26c
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f888
movss -0x8(%rbp), %xmm0
movss 0x2fba2(%rip), %xmm1    # 0x18f220
ucomiss %xmm1, %xmm0
jbe 0x15f6aa
movss -0x8(%rbp), %xmm1
movss 0x2fb8c(%rip), %xmm0    # 0x18f21c
divss %xmm0, %xmm1
movss 0x2fbcc(%rip), %xmm0    # 0x18f268
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f886
movss -0x8(%rbp), %xmm0
movss 0x2fb6d(%rip), %xmm1    # 0x18f224
ucomiss %xmm1, %xmm0
jbe 0x15f6e3
movss -0x8(%rbp), %xmm1
movss 0x2fb57(%rip), %xmm0    # 0x18f220
divss %xmm0, %xmm1
movss 0x2fb8f(%rip), %xmm0    # 0x18f264
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f884
movss -0x8(%rbp), %xmm0
movss 0x2fb38(%rip), %xmm1    # 0x18f228
ucomiss %xmm1, %xmm0
jbe 0x15f71c
movss -0x8(%rbp), %xmm1
movss 0x2fb22(%rip), %xmm0    # 0x18f224
divss %xmm0, %xmm1
movss 0x2fb52(%rip), %xmm0    # 0x18f260
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f882
movss -0x8(%rbp), %xmm0
movss 0x2fb03(%rip), %xmm1    # 0x18f22c
ucomiss %xmm1, %xmm0
jbe 0x15f755
movss -0x8(%rbp), %xmm1
movss 0x2faed(%rip), %xmm0    # 0x18f228
divss %xmm0, %xmm1
movss 0x2fb15(%rip), %xmm0    # 0x18f25c
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f880
movss -0x8(%rbp), %xmm0
movss 0x2face(%rip), %xmm1    # 0x18f230
ucomiss %xmm1, %xmm0
jbe 0x15f78e
movss -0x8(%rbp), %xmm1
movss 0x2fab8(%rip), %xmm0    # 0x18f22c
divss %xmm0, %xmm1
movss 0x2fad8(%rip), %xmm0    # 0x18f258
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f87e
movss -0x8(%rbp), %xmm0
movss 0x2fa99(%rip), %xmm1    # 0x18f234
ucomiss %xmm1, %xmm0
jbe 0x15f7c7
movss -0x8(%rbp), %xmm1
movss 0x2fa83(%rip), %xmm0    # 0x18f230
divss %xmm0, %xmm1
movss 0x2fa9b(%rip), %xmm0    # 0x18f254
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f87c
movss -0x8(%rbp), %xmm0
movss 0x2fa64(%rip), %xmm1    # 0x18f238
ucomiss %xmm1, %xmm0
jbe 0x15f7fd
movss -0x8(%rbp), %xmm1
movss 0x2fa4e(%rip), %xmm0    # 0x18f234
divss %xmm0, %xmm1
movss 0x2fa5e(%rip), %xmm0    # 0x18f250
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f87a
movss -0x8(%rbp), %xmm0
movss 0x2fa32(%rip), %xmm1    # 0x18f23c
ucomiss %xmm1, %xmm0
jbe 0x15f833
movss -0x8(%rbp), %xmm1
movss 0x2fa1c(%rip), %xmm0    # 0x18f238
divss %xmm0, %xmm1
movss 0x2fa24(%rip), %xmm0    # 0x18f24c
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f878
movss -0x8(%rbp), %xmm0
movss 0x2fa00(%rip), %xmm1    # 0x18f240
ucomiss %xmm1, %xmm0
jbe 0x15f869
movss -0x8(%rbp), %xmm1
movss 0x2f9ea(%rip), %xmm0    # 0x18f23c
divss %xmm0, %xmm1
movss 0x2f9ea(%rip), %xmm0    # 0x18f248
addss %xmm1, %xmm0
movss %xmm0, -0x8(%rbp)
jmp 0x15f876
movss 0x2f9d3(%rip), %xmm0    # 0x18f244
movss %xmm0, -0x8(%rbp)
jmp 0x15f878
jmp 0x15f87a
jmp 0x15f87c
jmp 0x15f87e
jmp 0x15f880
jmp 0x15f882
jmp 0x15f884
jmp 0x15f886
jmp 0x15f888
jmp 0x15f88a
jmp 0x15f88c
jmp 0x15f88e
jmp 0x15f890
jmp 0x15f892
jmp 0x15f894
jmp 0x15f896
jmp 0x15f898
jmp 0x15f89a
jmp 0x15f89c
jmp 0x15f89e
jmp 0x15f8a0
jmp 0x15f8a2
jmp 0x15f8a4
jmp 0x15f8a6
jmp 0x15f8a8
jmp 0x15f8aa
jmp 0x15f8ac
jmp 0x15f8ae
jmp 0x15f8b0
movss -0x8(%rbp), %xmm0
movss %xmm0, -0x4(%rbp)
movss -0x4(%rbp), %xmm0
popq %rbp
retq
nopw %cs:(%rax,%rax)