1 /* PR target/10114 */ 2 /* Originator: James Troup <james@nocrew.org> */ 3 4 /* { dg-do compile } */ 5 /* { dg-options "-g -O1" } */ 6 sqrt(double __x)7extern __inline double sqrt (double __x) 8 { 9 register double __r; 10 __asm ("fsqrtd %1,%0" : "=f" (__r) : "f" (__x)); 11 return __r; 12 } 13 14 static double our_skew, max_update_skew; 15 Sqr(double x)16static double Sqr(double x) 17 { 18 return x*x; 19 } 20 REF_SetReference(double skew)21void REF_SetReference(double skew) 22 { 23 double previous_skew, new_skew; 24 double old_weight, new_weight, sum_weight; 25 double delta_freq1, delta_freq2; 26 double skew1, skew2; 27 28 previous_skew = our_skew; 29 skew1 = sqrt((Sqr(delta_freq1) * old_weight + Sqr(delta_freq2) * new_weight) / sum_weight); 30 skew2 = (previous_skew * old_weight + new_skew * new_weight) / sum_weight; 31 our_skew = skew1 + skew2; 32 } 33