// File: /workspace/github_cpp_makefile_star2_O2/Rubenmp[P]Rubik/src/defineRubik.cpp
// Function: Rubik::exportSupervisedSolution(std::ostream&) const
void Rubik::exportSupervisedSolution(std::ostream& os) const{
   unsigned int movement = 0;
   vector<char> solution;
   Rubik aux = *this;
   aux.solve(solution);

   while (movement != (solution.size()-1)){
      os << "- (" << movement + 1 << ") ";
      if (solution[movement] == 'F')
         os << "F --> Move frontal face in clockwise.\n\n";
      else if (solution[movement] == 'f')
         os << "f --> Move frontal face in clockwise.\n\n";
      else if (solution[movement] == 'W')
         os << "B --> Move back face to left.\n\n";
      else if (solution[movement] == 'w')
         os << "b --> Move back face to right.\n\n";
      else if (solution[movement] == 'R')
         os << "R --> Move right face backward.\n\n";
      else if (solution[movement] == 'r')
         os << "r --> Move right face forward.\n\n";
      else if (solution[movement] == 'L')
         os << "L --> Move left face forward.\n\n";
      else if (solution[movement] == 'l')
         os << "l --> Move left face backward.\n\n";
      else if (solution[movement] == 'U')
         os << "U --> Move top face to left.\n\n";
      else if (solution[movement] == 'u')
         os << "u --> Move top face to right.\n\n";
      else if (solution[movement] == 'D')
         os << "D --> Move face of the bottom to right.\n\n";
      else if (solution[movement] == 'd')
         os << "d --> Move face of the bottom to left.\n\n";

      ++movement;
   }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %rbx
movq %rdi, %rsi
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %r14
movaps %xmm0, (%r14)
andq $0x0, 0x10(%r14)
leaq 0x32(%rsp), %r15
movq %r15, %rdi
callq 0x84de
leaq 0xf(%rsp), %rdx
movb $0x42, (%rdx)
movq %r15, %rdi
movq %r14, %rsi
callq 0x9c90
pushq $0x1
popq %r12
leaq 0x118a(%rip), %r14      # 0xb580
leaq 0x1187(%rip), %r15      # 0xb584
leaq 0x1ed9(%rip), %r13      # 0xc2dd
leal -0x1(%r12), %ebp
movq 0x10(%rsp), %rax
notq %rax
addq 0x18(%rsp), %rax
cmpq %rbp, %rax
je 0xa4fd
movq %rbx, %rdi
movq %r14, %rsi
callq 0x21b0
movl %r12d, %esi
movq %rax, %rdi
callq 0x2140
movq %rax, %rdi
movq %r15, %rsi
callq 0x21b0
movq 0x10(%rsp), %rax
movzbl (%rax,%rbp), %eax
cmpl $0x44, %eax
je 0xa4cb
cmpl $0x77, %eax
je 0xa4a7
cmpl $0x4c, %eax
je 0xa4e6
cmpl $0x52, %eax
je 0xa4d4
cmpl $0x55, %eax
je 0xa495
cmpl $0x57, %eax
je 0xa4dd
cmpl $0x64, %eax
je 0xa4b0
movq %r13, %rsi
cmpl $0x66, %eax
je 0xa4ed
cmpl $0x6c, %eax
je 0xa49e
cmpl $0x72, %eax
je 0xa4b9
cmpl $0x75, %eax
je 0xa4c2
cmpl $0x46, %eax
jne 0xa4f5
leaq 0x1e22(%rip), %rsi      # 0xc2b5
jmp 0xa4ed
leaq 0x1f2e(%rip), %rsi      # 0xc3ca
jmp 0xa4ed
leaq 0x1f04(%rip), %rsi      # 0xc3a9
jmp 0xa4ed
leaq 0x1e77(%rip), %rsi      # 0xc325
jmp 0xa4ed
leaq 0x1f7c(%rip), %rsi      # 0xc433
jmp 0xa4ed
leaq 0x1ea8(%rip), %rsi      # 0xc368
jmp 0xa4ed
leaq 0x1f20(%rip), %rsi      # 0xc3e9
jmp 0xa4ed
leaq 0x1f37(%rip), %rsi      # 0xc409
jmp 0xa4ed
leaq 0x1e6b(%rip), %rsi      # 0xc346
jmp 0xa4ed
leaq 0x1e21(%rip), %rsi      # 0xc305
jmp 0xa4ed
leaq 0x1e9c(%rip), %rsi      # 0xc389
movq %rbx, %rdi
callq 0x21b0
incl %r12d
jmp 0xa404
leaq 0x10(%rsp), %rdi
callq 0x2f90
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xa518
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x2f90
movq %rbx, %rdi
callq 0x2290
nop