title: Approximating inverse trigonometric functions
body: <p>I have to implement asin, acos and atan in environment where I have only following math tools:</p>
  
  <ul>
  <li>sine</li>
  <li>cosine</li>
  <li>elementary fixed point arithmetic (floating point numbers are not available)</li>
  </ul>
  
  <p>I also already have reasonably good square root function.</p>
  
  <p><strong>Can I use those to implement reasonably efficient inverse trigonometric functions?</strong></p>
  
  <p>I don't need too big precision (the floating point numbers have very limited precision anyways), basic approximation will do. </p>
  
  <p>I'm already half decided to go with table lookup, but I would like to know if there is some neater option (that doesn't need several hundred lines of code just to implement basic math).</p>
  
  <p>EDIT:</p>
  
  <p><strong>To clear things up</strong>: I need to run the function hundreds of times per frame at 35 frames per second.</p>