Sending very big amount with sendtoaddress RPC call
you are trying to send amount as string. Sprintf returns string.
You need to send amount as double (in PHP double == float).
Try this way:

$payment_tx = $ifc-&gt;sendtoaddress($account['address'], (double)$to_send);

If it doesn't work, use move at first, because sending can fail under many circumstances, while move always works.

Once you are done with that, please read my question about further problems with precision: Can I force json_encode in PHP to output 8 digits after dot for RPC?