Topological Design Based on Highly Efficient Adjoints Generated by Automatic Differentiation