An initial C/C++ implementation of embedded software is frequently given in the form of an unoptimized reference implementation or is automatically generated from high-level software development tools. Such an initial implementation is usually inefficient w.r.t. performance, code size and/or energy consumption when mapped to a target processor by a compiler. Recent research has introduced the concept of a "Software Washing Machine" that takes unoptimized source code and emits optimized source code by applying code transformations at the C/C++ level. The resulting code can then be mapped to a given target processor by a C/C++ compiler. Since such transformations go well beyond the scope of traditional code optimization in a compiler, high efficiency gains are possible. Moreover, in connection with existing compilers, C/C++ level code optimizations are inherently reusable for various target processors. In this project, the efficiency gains enabled by a Software Washing Machine are evaluated for complex embedded applications. Promising code transformations are being identified and partially automated.