text: #ifndef CHAOSKIT_LIBRARY_FORMULAS_HANDKERCHIEF_H
  #define CHAOSKIT_LIBRARY_FORMULAS_HANDKERCHIEF_H
  
  #include "library/Formula.h"
  
  namespace chaoskit::library {
  
  class Handkerchief : public Formula {
   public:
    ast::Formula source() override {
      using namespace ast::helpers;
      var("r") = sqrt(input.x() * input.x() + input.y() * input.y());
      var("rho") = atan2(input.x(), input.y());
  
      return withVariables({
          v("r") * sin(v("rho") + "r"),
          v("r") * cos(v("rho") - "r"),
      });
    }
  };
  
  }  // namespace chaoskit::library
  
  #endif  // CHAOSKIT_LIBRARY_FORMULAS_HANDKERCHIEF_H
  