Given a real number x! = 0. Calculate the fraction using the recursive subroutine:

When calculating a fraction through recursion, even with double it counts only as a function y = x / x ^ 2. How to make the calculation more accurate, so that the part in which the recursion is also taken into account?
#include "stdafx.h" #include<iostream> #include<cmath> using namespace std; int func(float i, float x) { i*=2; if (i < 256) return ((x*x + i) / func(i, x)); else return((x*x + (i / x*x))); } int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "RUS"); float x; cout << "Введите X"; cin >> x; float y; int i = 1; y = x/func(i,x); cout << "Ответ:" << y<<"\n"; system("pause"); return 0; }
y=(x^16+508*x^12+41664*x^8+634880*x^4+1048576)/(x*(x^16+510*x^12+42672*x^8+714240*x^4+2031616))Next, read according to Horner’s scheme or by some other method minimizing the number of actions. Plus, get rid of recursion. - Zealint