Ich würde mal sagen der enorme Platzbedarf kommt von dtostrf...

gerade bei solchen Funktionen sollte man schon genau überlegen ob man sie wirklich braucht, oder ob es nicht auch platzsparende Alternativen gibt (prinf und scanf z.B. gehören auch in die Kategorie der Speicherfresser)