For the below quardratic formula, I have multiple a but fixed b and c.

I wish to write a partial application function, which execute efficiently, i.e., my function doesn’t recompute fixed values (because of b and c).
Here is my solution
let r b c = let z = b *. b in fun a -> (-.b +. sqrt (z-.4.0*.a*.c))/.(a*.2.0);;
I guess this solution can work, but I am not sure whether it is efficient enough. I just made b^2 to be fixed as I saw other parts are all with a.
Anyone can give me a better solution?
Yeah, that’s a correct way to deal with the situation at hand. The alternate form doesn’t help much (as long this obtains the accuracy you require). You may want to move the
4*cout as well,