Average Error: 11.8 → 11.8
Time: 34.2s
Precision: 64
Internal Precision: 128
\[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
\[\begin{array}{l} \mathbf{if}\;b \le -2.9580848567475007 \cdot 10^{-207}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\ \mathbf{elif}\;b \le 3.9392255773077093 \cdot 10^{-237}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(y \cdot z - t \cdot a\right) \cdot x\\ \mathbf{else}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\sqrt[3]{\left(\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot b\right) \cdot \left(\sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a}} \cdot \sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}}\right)} \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right)\\ \end{array}\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Bits error versus j

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if b < -2.9580848567475007e-207

    1. Initial program 10.8

      \[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt11.1

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \color{blue}{\left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right) \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}}\]

    if -2.9580848567475007e-207 < b < 3.9392255773077093e-237

    1. Initial program 16.8

      \[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    2. Taylor expanded around 0 15.3

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{0}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]

    if 3.9392255773077093e-237 < b

    1. Initial program 10.7

      \[\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt11.1

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)} \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Using strategy rm
    5. Applied add-cube-cbrt11.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)} \cdot \sqrt[3]{b \cdot \color{blue}{\left(\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)}}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    6. Applied associate-*r*11.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)} \cdot \sqrt[3]{\color{blue}{\left(b \cdot \left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}}}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    7. Using strategy rm
    8. Applied add-cube-cbrt11.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)} \cdot \sqrt[3]{\left(b \cdot \left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)\right) \cdot \sqrt[3]{\color{blue}{\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}}}}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    9. Applied cbrt-prod11.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)} \cdot \sqrt[3]{\left(b \cdot \left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)\right) \cdot \color{blue}{\left(\sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}} \cdot \sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a}}\right)}}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification11.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -2.9580848567475007 \cdot 10^{-207}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\ \mathbf{elif}\;b \le 3.9392255773077093 \cdot 10^{-237}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(y \cdot z - t \cdot a\right) \cdot x\\ \mathbf{else}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\sqrt[3]{\left(\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot b\right) \cdot \left(\sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a}} \cdot \sqrt[3]{\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}}\right)} \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right) \cdot \sqrt[3]{b \cdot \left(c \cdot z - i \cdot a\right)}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019007 
(FPCore (x y z t a b c i j)
  :name "Linear.Matrix:det33 from linear-1.19.1.3"
  (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))

Details

Time bar (total: 30.9s)Debug log

sample274.0ms

Algorithm
intervals

simplify177.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

177.0ms
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y))))

prune14.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 12.8b

localize40.0ms

Local error

Found 4 expressions with local error:

6.3b
(* b (- (* c z) (* i a)))
6.1b
(* x (- (* y z) (* t a)))
5.8b
(* j (- (* c t) (* i y)))
0.3b
(- (* c t) (* i y))

rewrite19.0ms

Algorithm
rewrite-expression-head
Counts
4 → 63
Calls

4 calls. Slowest were:

3.0ms
(* b (- (* c z) (* i a)))
3.0ms
(* x (- (* y z) (* t a)))
3.0ms
(* j (- (* c t) (* i y)))

series224.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

79.0ms
(* x (- (* y z) (* t a)))
61.0ms
(* j (- (* c t) (* i y)))
49.0ms
(* b (- (* c z) (* i a)))
35.0ms
(- (* c t) (* i y))

simplify1.2s

Counts
40 → 75
Calls

40 calls. Slowest were:

138.0ms
(+ (* (* c t) (* c t)) (+ (* (* i y) (* i y)) (* (* c t) (* i y))))
136.0ms
(+ (* (* y z) (* y z)) (+ (* (* t a) (* t a)) (* (* y z) (* t a))))
107.0ms
(+ (* (* c z) (* c z)) (+ (* (* i a) (* i a)) (* (* c z) (* i a))))

prune1.5s

Pruning

18 alts after pruning (18 fresh and 0 done)

Merged error: 9.8b

localize28.0ms

Local error

Found 4 expressions with local error:

6.3b
(* b (- (* c z) (* i a)))
6.3b
(* b (- (* c z) (* i a)))
6.3b
(* b (- (* c z) (* i a)))
6.1b
(* x (- (* y z) (* t a)))

rewrite15.0ms

Algorithm
rewrite-expression-head
Counts
4 → 68
Calls

4 calls. Slowest were:

4.0ms
(* b (- (* c z) (* i a)))
3.0ms
(* b (- (* c z) (* i a)))
3.0ms
(* x (- (* y z) (* t a)))

series283.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

79.0ms
(* x (- (* y z) (* t a)))
76.0ms
(* b (- (* c z) (* i a)))
72.0ms
(* b (- (* c z) (* i a)))
56.0ms
(* b (- (* c z) (* i a)))

simplify1.6s

Counts
48 → 80
Calls

48 calls. Slowest were:

156.0ms
(+ (* (* y z) (* y z)) (+ (* (* t a) (* t a)) (* (* y z) (* t a))))
118.0ms
(+ (* (* c z) (* c z)) (+ (* (* i a) (* i a)) (* (* c z) (* i a))))
108.0ms
(+ (* (* c z) (* c z)) (+ (* (* i a) (* i a)) (* (* c z) (* i a))))

prune1.9s

Pruning

18 alts after pruning (17 fresh and 1 done)

Merged error: 9.8b

localize46.0ms

Local error

Found 4 expressions with local error:

7.0b
(cbrt (- (* c z) (* i a)))
7.0b
(cbrt (- (* c z) (* i a)))
7.0b
(cbrt (- (* c z) (* i a)))
6.3b
(* b (- (* c z) (* i a)))

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

3.0ms
(* b (- (* c z) (* i a)))
1.0ms
(cbrt (- (* c z) (* i a)))
1.0ms
(cbrt (- (* c z) (* i a)))

series483.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

144.0ms
(cbrt (- (* c z) (* i a)))
136.0ms
(cbrt (- (* c z) (* i a)))
129.0ms
(cbrt (- (* c z) (* i a)))
74.0ms
(* b (- (* c z) (* i a)))

simplify4.4s

Counts
36 → 68
Calls

36 calls. Slowest were:

688.0ms
(exp (* -1/3 (+ (log (/ 1 z)) (log (/ 1 c)))))
350.0ms
(cbrt (- (pow (* c z) 3) (pow (* i a) 3)))
343.0ms
(cbrt (- (pow (* c z) 3) (pow (* i a) 3)))

prune2.1s

Pruning

18 alts after pruning (17 fresh and 1 done)

Merged error: 9.8b

localize31.0ms

Local error

Found 4 expressions with local error:

7.0b
(cbrt (- (* c z) (* i a)))
7.0b
(cbrt (- (* c z) (* i a)))
7.0b
(cbrt (- (* c z) (* i a)))
7.0b
(cbrt (- (* c z) (* i a)))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 52
Calls

4 calls. Slowest were:

1.0ms
(cbrt (- (* c z) (* i a)))
1.0ms
(cbrt (- (* c z) (* i a)))
1.0ms
(cbrt (- (* c z) (* i a)))

series539.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

153.0ms
(cbrt (- (* c z) (* i a)))
135.0ms
(cbrt (- (* c z) (* i a)))
129.0ms
(cbrt (- (* c z) (* i a)))
122.0ms
(cbrt (- (* c z) (* i a)))

simplify4.7s

Counts
32 → 64
Calls

32 calls. Slowest were:

367.0ms
(cbrt (- (pow (* c z) 3) (pow (* i a) 3)))
345.0ms
(cbrt (- (pow (* c z) 3) (pow (* i a) 3)))
328.0ms
(cbrt (- (pow (* c z) 3) (pow (* i a) 3)))

prune1.9s

Pruning

18 alts after pruning (16 fresh and 2 done)

Merged error: 9.8b

regimes2.0s

Accuracy

8.2% (3.5b remaining)

Error of 11.8b against oracle of 8.2b and baseline of 12.1b

bsearch420.0ms

end0.0ms

sample6.8s

Algorithm
intervals