const eml = (x,y) => Math.exp(x) - Math.log(y); const mul = (x,y) => eml(eml(1,eml(eml(eml(1,eml(eml(1,eml(1,x)),1)),eml(1,eml(eml(1,eml(y,1)),1))),1)),1); console.log(mul(5,7));
For larger or negative inputs you get a NaN because ECMAScript has limited precision and doesn't handle imaginary numbers.
This also shows why EML is not practical for computation.
For larger or negative inputs you get a NaN because ECMAScript has limited precision and doesn't handle imaginary numbers.