#include "pspmath.h" float vfpu_tanhf(float x) { float result; //y = exp(x+x); //return (y-1)/(y+1); __asm__ volatile ( "mtv %0, S000\n" "vadd.s S000, S000, S000\n" "vcst.s S001, VFPU_LN2\n" "vrcp.s S001, S001\n" "vmul.s S000, S000, S001\n" "vexp2.s S000, S000\n" "vone.s S001\n" "vbfy1.p C002, C000\n" "vdiv.s S000, S003, S002\n" "mfv %0, S000\n" : "=r"(result): "r"(x)); return result; }