Thanks UncombedCoconut, here's a run of the position, with my opinion of its implications for analysis:
r2k1r2/pp1n1q1p/1npP4/4p1P1/4P3/1PbB2NP/P1P1Q1RK/3R4 b - -
Stockfish fhfl 1CPU Analysis mode 128MB
Reject Fail high
.15/19 0:00 -0.02 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Re2 Bb4 8.Nf5 Nc5 9.Bg8 Rf4 10.Bxh7 Nxe4 (666.871) 762
16/13 0:01 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (1.084.334) 788
17/13 0:02 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (1.598.685) 793
18/13 0:02 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (2.101.320) 800
19/17 0:05 -0.11++ 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.c3 Bxc3 8.Nf6 Nf8 9.Ng4 Bd4 (4.728.279) 798
19/22 0:05 -0.08 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.Nf6 Nf8 8.Rgd2 Ng6 9.Kg3 Be3 10.Rg2 Bxg5 11.Nxh7 Rxh7 12.Bxg6 (4.765.601) 798
19/03 0:15 -0.22++ 1...a5 2.Nh5 Qf3 (11.635.562) 764
19/24 0:24 -0.08-- 1...a5 2.a4 Qf3 3.Qxf3 Rxf3 4.Be2 Rf8 5.Bg4 Nc8 6.Nh5 Bb4 7.Ng7 Nxd6 8.c3 Bc5 9.Rgd2 Rf7 10.Ne6+ Ke7 11.Nxc5 Nxc5 12.Rxd6 Nxe4 13.Re6+ (18.647.606) 767
19/22 0:24 -0.08-- 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.Nf6 Nf8 8.Rgd2 Ng6 9.Kg3 Be3 10.Rg2 Bxg5 11.Nxh7 Rxh7 12.Bxg6 (18.647.606) 767
20/13 0:27 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (21.288.041) 776
21/23 0:42 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Rg8 5.h4 Bb4 6.Be6 Rh8 7.Nh5 Nc8 8.Nf6 Nf8 9.Bxc8 Kxc8 10.Rf2 Ne6 11.Ng4 Nc5 12.Nf6 Ne6 (34.009.307) 791
Result: Bad. Reason: User knows a5 could actually be better than Qf3, but the user knew that when seeing Stockfish went back to 1...a5 without resolving the failing move cycle, so the -0.08--'s aren't helpful.
Accept Fail high
.15/21 0:00 -0.35++ 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Bb4 5.Bf5 Rf7 6.Nh5 Nc8 7.Be6 Rf8 8.Bxd7 Kxd7 9.Nf6+ Ke6 10.d7 Nb6 11.Nxh7 Rfd8 (785.128) 797
15/18 0:01 -0.13-- 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Bb4 5.Bf5 Rf7 6.Be6 Rf4 7.Bf5 Nc8 8.c3 Bxd6 9.Bxh7 Kc7 10.Bf5 (818.549) 806
15/10 0:01 -0.02-- 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc5 5.Bf5 Rg8 6.Ne2 (1.038.133) 801
15/22 0:01 -0.06 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Bb4 5.Bf5 Rf7 6.Be6 Rf4 7.Bf5 Rh4 8.Rf2 Bc5 9.Rf3 Nc8 10.Bxd7 Kxd7 11.Rf7+ Ke6 12.Rf6+ (1.229.144) 802
16/14 0:02 +0.15-- 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Bb4 5.Nh5 Nc8 6.Ng7 Nxd6 7.c3 Bc5 8.b4 (2.000.783) 815
16/09 0:03 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (2.952.386) 794
17/09 0:04 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (3.522.798) 791
18/09 0:05 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (4.689.660) 787
19/09 0:07 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (6.184.585) 779
20/09 0:11 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (9.192.760) 777
21/09 0:19 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (15.312.141) 773
21/09 0:30 -0.11++ 1...a5 2.Nf5 Bb4 3.Rg4 a4 4.Qg2 axb3 5.cxb3 Kc8 (23.515.675) 765
21/15 0:35 -0.22++ 1...a5 2.Nf5 Bb4 3.Rg4 a4 4.Qg2 axb3 5.cxb3 Kc8 6.g6 hxg6 7.Rxg6 Kb8 8.Rg7 Qe6 (27.244.303) 763
21/21 1:17 -0.16 1...a5 2.Nf5 Bb4 3.Qg4 a4 4.h4 axb3 5.axb3 Kc8 6.h5 Rh8 7.Kg3 Qe8 8.g6 hxg6 9.Qxg6 Qf8 10.Rf2 Kb8 11.Ne7 Qh6 (58.470.268) 758
Result: Good. I actually like this behavior, Qg6 is found better and Qf3 is discarded at some point, in my experience, such behavior improves style for analysis, in similar positions Stockfish would be the only engine to suggest Qg6, and move originality is important.
a5 took 2 iterations more to appear, though, but at depth 21 this setting found a better move faster (plywise).
...
Now, I tried clearing the hash and trying Restart Iteration, and got that analysis again, so it seems the hash wasn't cleared or something. After reloading the engine and setting
Accept Fail high again, I got this:
15/19 0:00 -0.02 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Re2 Bb4 8.Nf5 Nc5 9.Bg8 Rf4 10.Bxh7 Nxe4 (666.871) 762
16/13 0:01 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (1.084.334) 779
17/13 0:02 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (1.598.685) 792
18/13 0:02 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (2.101.320) 800
19/17 0:05 -0.11++ 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.c3 Bxc3 8.Nf6 Nf8 9.Ng4 Bd4 (4.728.279) 796
19/22 0:05 -0.08 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.Nf6 Nf8 8.Rgd2 Ng6 9.Kg3 Be3 10.Rg2 Bxg5 11.Nxh7 Rxh7 12.Bxg6 (4.765.601) 798
19/03 0:15 -0.22++ 1...a5 2.Nh5 Qf3 (11.635.562) 762
19/24 0:24 -0.22 1...a5 2.a4 Qf3 3.Qxf3 Rxf3 4.Be2 Rf8 5.Bg4 Nc8 6.Nh5 Bb4 7.Ng7 Nxd6 8.c3 Bc5 9.Rgd2 Rf7 10.Ne6+ Ke7 11.Nxc5 Nxc5 12.Rxd6 Nxe4 13.Re6+ (18.647.606) 766
20/15 0:31 0.00 1...a5 2.a4 Qf3 3.Qxf3 Rxf3 4.Be2 Rf8 5.Bg4 Rg8 6.h4 Bb4 7.Bf5 Rh8 8.Bg4 Rg8 (23.978.451) 772
20/24 0:31 -0.10 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.Nf6 Nf8 8.Rgd2 Ng6 9.Kg3 Be3 10.Rg2 Bxg5 11.Nxh7 Rxh7 12.Bxg6 Bf4+ 13.Kg4 (24.485.612) 774
21/13 0:38 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (29.918.233) 782
Can't call that bad, a5 was not abandoned because it wasn't resolved, it was abandoned because it had a score of 0.00, and Qf3 had a score of -0.10. The point is that a5 was found with a real score of -0.22 at the end of iteration 19 instead of the move being abandoned.
Restart iteration
15/19 0:00 -0.02 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Re2 Bb4 8.Nf5 Nc5 9.Bg8 Rf4 10.Bxh7 Nxe4 (666.871) 762
16/13 0:01 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (1.084.334) 788
17/13 0:02 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (1.598.685) 792
18/13 0:02 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rf7 6.Be6 Rf3 7.Bg4 Rf8 (2.101.320) 800
19/17 0:05 -0.11++ 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.c3 Bxc3 8.Nf6 Nf8 9.Ng4 Bd4 (4.728.279) 798
19/22 0:05 -0.08 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.Nf6 Nf8 8.Rgd2 Ng6 9.Kg3 Be3 10.Rg2 Bxg5 11.Nxh7 Rxh7 12.Bxg6 (4.765.601) 798
19/03 0:15 -0.22++ 1...a5 2.Nh5 Qf3 (11.635.562) 763
<a5 becomes main move somewhere here>
19/18 0:28 0.00 1...a5 2.a4 Qf3 3.Qxf3 Rxf3 4.Be2 Rf8 5.Bg4 Bd4 6.Nf5 Bc3 7.Rg3 Bb2 8.Rb1 Ba3 9.Ra1 Bb2 10.Rb1 (21.762.525) 769
19/21 0:28 -0.08 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Nc8 5.Bf5 Rh8 6.Nh5 Bd4 7.Nf6 Nf8 8.Rgd2 Ng6 9.Kg3 Be3 10.Rg2 Bxg5 11.Nxh7 Rxh7 (21.762.547) 769
20/12 0:31 0.00 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Bb4 5.Bf5 Rf7 6.Be6 Rf8 7.Bf5 (24.846.382) 777
21/09 0:43 +0.15-- 1...Qf3 2.Qxf3 Rxf3 3.Be2 Rf8 4.Bg4 Bb4 5.Nh5 a5 (34.251.943) 788
21/09 0:55 0.00 1...Qg6 2.Nf5 Nc8 3.Bc4 b5 4.Nh4 Qe8 5.Nf5 Qg6 (43.639.315) 780
Yes, this was the behavior I was talking about. I only find it odd that Stockfish finds a5 0.00 at depth 19 but when the user forces the move and clears the hash, at depth 18 it seems clearly better (score of -0.27). Why can't Stockfish see that from the root? I guess that's what Richard Vida meant with "you can't have your cake and eat it too".
Anyway, thanks again! Both Accept Fail High and Restart iteration seem like improvements over default behavior, and it's great to have the option to switch.
Other notes: The incident in where clearing the hash didn't have the same effect as reloading the engine was weird, can someone reproduce? (I can't reproduce the analysis that finds a5 at depth 21, it seems it was dependent on hash contents, even though I cleared it.)