// funkcni prototyp, dve funkce se volaji navzajem
#include<iostream>
#include<cmath>
using namespace std;

double mujsin(double x);  // uplny funkcni prototyp

double mujcos(double x){
  if(x < M_PI/4.)
    return(1 - x*x/2.); // pro male uhly, jinak pouziji mujsin()
  else
    return(mujsin(M_PI/2. - x));
}

double mujsin(double x){
 if(x < M_PI/4.)
   return(x);      // pro male uhly, jinak pouziji mujcos()
 else
   return(mujcos(M_PI/2. - x));
}

int main(void){
  printf("sin(0.01)=%f\n",mujsin(0.01));
  printf("sin(pi/2-0.01)=%f\n",mujsin(M_PI/2.-0.01));
}
