The amount of free space required in this case is the size of the pre-allocated disk plus some additional space for overhead. Unfortunately I do not remember the exact amount of additional space for overhead however it is not a large amount and I fairly sure that VMware Fusion is programmed to want to see more space then is technically needed and is doing so to insure that if any other programs are writing to disk at the same time it will not run out of space during the process. Be thankful because there was a time that VMware did absolutely no pre-calculations whatsoever and proceed to perform disk level functions such as this and if there wasn't adequate free space one could be left with a mess that had to be manually cleaned up!
Anyway if you can free up some additional space you can try the following however if you choose to you do so at your own risk! You can temporarily add the following option to the .vmx configuration file and then remove it when finished.
mainMem.freeSpaceCheck = "FALSE"
Have a look at: Editing the .vmx file for your Fusion virtual machine (1014782)
On way to quickly temporarily free up some Host hard disk space it to turn off hibernation and delete the sleepimage file. This frees up an amount of space equal to the amount of RAM installed on the Host.
In a Terminal issue the following commands:
pmset -g | grep hibernatemode
The output of the above command should be something like: hibernatemode 3
Then to turn off hibernation and temporarily remove the sleepimage file:
sudo pmset -a hibernatemode 0
sudo rm -f /var/vm/sleepimage
After you've finished converting the virtual hard disk then use the following command in a Terminal to restore the default hibernatemode and this will recreate the sleepimage file.
sudo pmset -a hibernatemode 3
This assumes that hibernatemode was originally set to 3.