90% correct (fmul)