1 /* PR tree-optimization/56424 */
2 
3 /* { dg-do compile } */
4 /* { dg-options "-O2 -fexceptions -fnon-call-exceptions" } */
5 
6 extern long double cosl (long double);
7 extern long double sinl (long double);
8 extern long double reml (long double, long double);
9 
my_cos(long double arg)10 long double my_cos (long double arg)
11 {
12   return cosl (arg);
13 }
14 
my_sin(long double arg)15 long double my_sin (long double arg)
16 {
17   if (__builtin_fabs (arg) < 1.0)
18     return arg;
19 
20   return sinl (arg);
21 }
22 
my_cot(long double arg,long double cycle)23 long double my_cot (long double arg, long double cycle)
24 {
25   long double t = reml (arg, cycle);
26   return my_cos (t) / my_sin (t);
27 }
28 
my_tan(long double arg,long double cycle)29 long double my_tan (long double arg, long double cycle)
30 {
31   long double t = reml (arg, cycle);
32   return my_sin (t) / my_cos (t);
33 }
34