# ❔ Formula Analyzer Help

## Introduction

The goal of this website is to study the effect of some formulas (or algorithms) on the last layer of a 3x3x3 cube.
It displays the case solved by an algorithm in an understandable way (with colors and arrows). The output image can then be copy-pasted simply by right-clicking on it.
A small database of algorithms allows you to find other alogorithms with the same effect or with similar effects.

## Input

The standard Singmaster's move notation is used for indicating which face to turn: U (Up), D (Down), L (Left), R (Right), F (Front), B (Back).
For a move, a simple letter indicate a clockwise quarter turn (clockwise if you imagine you are in front of the face to be turned).
A letter followed by a ' (prime) indicates a counterclockwise quarter turn.
A letter followed by a 2 (two) indicates two quarter turns that is a half turn (the turn direction is generally not relevant in this case).
Example : F R U R' U' F'

The direction of rotation can be indicated in a more exotic way: an optional + (plus) for clockwise and - (minus), -1 (minus one) or i (lowercase i) for counterclockwise.
Example: F R U R- U- F-
Example: F+ R+ U+ R- U- F-
Example: F R U R-1 U-1 F-1
Example: F R U Ri Ui Fi

You can also indicate the number of quarter turns right after the letter.
Example: F1 R1 U1 R3 U3 F3
Note that all these exotic notations will be automatically converted into the standard notation (the first one).

Wide turns are indicate either by lower-case letters or by adding the letter w after the upper-case letter.
Example: f R U R' U' f'
Example: Fw R U R' U' Fw'
Cleaning the formula will convert the second notation into the first one.

Slice moves M (middle slice), S (standing slice) and E (equatorial slice) are also supported.
Example: M U M U M U2 M' U M' U M' U2

Parentheses can be used. If not followed by a number, they have no effect (but can help for readability).
Example: F (R U R' U' ) F'

If instead they are followed by a number n the sequence between parentheses will be repeated n times.
Imbricated parentheses are supported.
Prime or negative numbers are now supported.
Example: F (R U R' U' )3 F' is the same as F (R U R' U') (R U R' U') (R U R' U') F'
Example: ((R' D R D')2 U)3 is the same as ((R' D R D') (R' D R D') U) ((R' D R D') (R' D R D') U) ((R' D R D') (R' D R D') U)
Example: (F R U R' U' F')' is the same as F U R U' R' F'
Cleaning the formula will remove all the parentheses.

Commutator and conjugate notations ([A,B] and [A:B]) are not supported yet.

Note that an auto-simplification applies if you repeatedly type a letter. For instance, if you repeatedly type the letter U, the display will show first U then U2 then U' and then nothing at all (and so on).
clean replaces the current formula by a version without any parenthesis.
invert replaces the current formula by its reverse version.
sym LR replaces the current formula by its Left/Right symmetric: you can change a right-handed alg by its left-handed equivalent.
sym FB replaces the current formula by its Front/Back symmetric: try it mainly for RU or RUD algs.

## Display Options

Most of the options are locally saved so that you can retreive them when you open again the page on the same machine.

Color scheme allows you to choose between Western, that is yellow opposed to white, orange opposed to red green ooposed to blue and the corner blue-orange-yellow (B.O.Y.) being clockwise or Japanese, that is the same configuration except blue and yellow are swapped thus blue is opposed to white (this is the original color scheme from the first Rubk's cubes and it is still used in Japan).
You can also choose the initial orientation of your cube (for instance if you prefer green instead of blue as the front color or if you are color neutral).

You can choose which stickers to display on your cube, independently for corners and edges. For instance, all the colors or none. You can also choose to display the orientation only (all the cubies belonging to the upper layer will show their yellow sticker only, if yellow is the Up color). Displaying positions is rather binary: the cubies will be pink if correctly positionned (whatever their orientation), or grey if this is not the case.

Cube options are pretty straighforward, except pehaps the "hide grey on border" option: it allows hiding the grey stickers that are not on the main face, useful for displaying OLL with only the yellow stickers on the borders, for instance.

Finally you can choose whether to display or not the arrows. Curved arrows are useful if the permutations are complex, but, most of the time, straight arrows with no spacing will do the job.

Note that the arrows showing orientation are always curved, but you can hide them.

## Result

input formula should be the one you entered, perhaps with some more standard notations.

flattenned formula is the same, but without exponents (generally used for sequences that have to be repeated). It keeps the parentheses.
Some sequences are actually repeated as many time as necessary, other ones will be replaced by their inverse (if the exponent was negative).

clean formula simply removes the remaining parentheses from the previous formula if any, since thoses parentheses have no effect except for readability.

unsliced formula replaces M, S and E slice moves by cube rotations (x, y and z).

formula without xyz will replace cube moves (x, y and z) from the clean formula by changing the faces that are rotated. Note that if there was any slice move, it is kept.

canonic formula will apply the process of removing x, y and z move to the unsliced formula, thus the result will have no x, y and z move and no without xyz will replace x, y and z moves and no slice move: only U, D, L, R, F and B moves.

Finally, reference formula will take the previous formula and change the point of view so that the first rotation will alwas be R, R' or R2 and the second (if the second rotation was on a face adjacent to the first one) will be a U, U' or U2. In this way you can easily detect algoryhtme that are exactly the same except for the initial cube orientation: they will have the same reference formula.

You also have the length of the algorihm in HTM (quarter and half turns count for 1) and QTM (quarter turns count for 1, half turns count for 2).
You can see also the number of faces involved by the algorithm (as it was noted in the input), for instance 2-gen algs will use 2 faces (RU, MU or any other combination).
Finally, order shows how many time you must perform this alg to cancel its effects. For instance, it will show 6 for a sexy move (R U R' U').

Perhaps the most useful feature, but also the most difficult to understand is the effect on the cube.
Basically, it shows the list of cycles performed by the alg on the cubies. For instance, (UBR, ULB-) means that the cubie whose initial position was UBR (that is Up-Back-Right) will go in the ULB position, whereas the cubie initially at the UBL position will first turn counterclockwise and then go to UBR (with then main sticker of the UBL position - after this counterclockwise turn - going to the main sticker of the UBR position).
It is easier to follow what is happening on the output window, if the arrows are all showing.

## Search Database

You can seach for other algorithms having the same or similar effects on the cube. For instance, in you entered in the input frame an alg which is an OLL, you can search for other algs that solve the same OLL (but that could have a different effects on cubies permutation.
To do so you have a series of preset search options (OLL, PLL, EOLL etc.) or you can fine tune your search, by specifying for each types of cubies if you are looking for an alg that preserves them (no effect), has the same effect as the original alg (same) or if you do not care at all about them (any).
The results are coming from a small database, and are sorted by number of turns (half and quarter turns counting for 1) with the shortest first.