1:25 PM
I'm trying to figure out hot to express the probability of X in the system of 4d6 drop lowest reroll lower than 8.
Thus far, I've got a piecewise function that just flattens probability to 0 for results 1 - 7

2:23 PM
@GcL I don't know how to write an AnyDice function to do this, but I could definitely feed this into my probability calculator.

I'm writing the anydice code. F'ing looping using only recursion reminds me of university
I started by trying to sort out the probability function expression but didn't get further than a piecewise function that was kind of crude.

Hmm, looks like I need to add a few new functions to my calculator for this.

2:42 PM
FML... f'ing max recursion depth

3:01 PM
Yeah, anydice just isn't the place for that.
Without an actual while loop, I can't get that to work.

So I at least have stats for the "4d6 Drop Lowest" that also truncates any rolls less than 8.
```Stats for Roll [4d6 Drop 1T]
╔═════════╤══════════╤══════════╤═══════════╗
║ Outcome │     Odds │   Trials │ Pass Odds ║
╟─────────┼──────────┼──────────┼───────────╢
║      +8 │   5.074% │   31/611 │  100.000% ║
║      +9 │   7.447% │     7/94 │   94.926% ║
║     +10 │   9.984% │   61/611 │   87.480% ║
║     +11 │  12.111% │   74/611 │   77.496% ║
║     +12 │  13.666% │ 167/1222 │   65.385% ║
║     +13 │  14.075% │   86/611 │   51.718% ║
║     +14 │  13.093% │   80/611 │   37.643% ║
║     +15 │  10.720% │ 131/1222 │   24.550% ║```
Does that jive with your calculations?
It's surprisingly easy to calculate: you just generate a spread for 4d6 Drop 1, just remove any outcomes that are being rerolled, and then just normalize all the probabilities so they all add up to 1.

3:29 PM
how do you do the scrap if more than two 15+

3:44 PM
@goodguy5 Well, the actual rule is scrap if there's not at least two 15+. And it's the same method, just with a much much larger dataset.
I set my calculator to run about a minute ago, we'll see if it finishes in a reasonable span of time. Some of the steps took far less time than I was expecting them to.
But actually performing the truncation is (apparently) the slowest part of the process.

@Xirema my mistake, but the same in effort to implement

Although I kind of shot myself in the foot a bit; I could have implemented this as a O(N) function and I think it implemented it O(NlogN). So it's definitely taking longer than it needs to.
Oh, good. OutOfMemoryError.
Never mind then. XD

4:30 PM
It almost seems easier to list out all of the possible rolls.
remove any that contain a 3-7 OR not 2 15s
Collapse values and ascertain probabilities

4:55 PM
@goodguy5 I mean, that's what I tried to do, but I keep running out of heap space.
There's just too many outcomes.
............ Although....
Hmm.
I have an idea.

5:20 PM
```╔══════════════════════════╤══════════╤═══════════════════════════════════╗
║                  Outcome │     Odds │                            Trials ║
╟──────────────────────────┼──────────┼───────────────────────────────────╢
║     [15, 15, 8, 8, 8, 8] │   0.000% │      15848543881/6317769072690000 ║
║     [16, 15, 8, 8, 8, 8] │   0.000% │       5686118797/1579442268172500 ║
║     [17, 15, 8, 8, 8, 8] │   0.000% │         362943753/175493585352500 ║
║     [18, 15, 8, 8, 8, 8] │   0.000% │        846868757/1052961512115000 ║```
Well APPARENTLY Stack Exchange didn't stop me from copying that giant block of text. =D

can you sort the lists and collapse them? so that 10,9,10 and 10,10,9 are the same?
I wonder how many rolls it takes, on average to get 6 stats with the colvillle method

@goodguy5 It's already done that, it reduced the whole thing down to only 5,236 unique sets of rolls.

5:35 PM
@Xirema oh derp

3 hours later…
8:48 PM
Okay, a few more optimizations, and now it calculates this array in 0.4 seconds instead of 10 seconds. I'm happy with it now.