do_task_floating first pass done: not tested