Average Error: 42.7 → 9.5
Time: 44.5s
Precision: 64
Internal Precision: 128
\[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
\[\begin{array}{l} \mathbf{if}\;t \le -1.2128111436161243 \cdot 10^{+114}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot \sqrt{2}} \cdot -2 + \left(-t\right) \cdot \sqrt{2}}\\ \mathbf{elif}\;t \le 1.9387688460025505 \cdot 10^{-287} \lor \neg \left(t \le 1.400368300731661 \cdot 10^{-160}\right) \land t \le 2.3877704099088408 \cdot 10^{+30}:\\ \;\;\;\;\frac{\sqrt[3]{\sqrt{2}} \cdot \left(t \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}{\sqrt{(2 \cdot \left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) + \left(\left(4 \cdot t\right) \cdot \frac{t}{x}\right))_*}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{(\left(\frac{\frac{2}{x}}{\sqrt{2}}\right) \cdot t + \left(\sqrt{2} \cdot t\right))_*}\\ \end{array}\]

Error

Bits error versus x

Bits error versus l

Bits error versus t

Derivation

  1. Split input into 3 regimes
  2. if t < -1.2128111436161243e+114

    1. Initial program 52.8

      \[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
    2. Initial simplification52.8

      \[\leadsto \frac{t \cdot \sqrt{2}}{\sqrt{(\left((\left(2 \cdot t\right) \cdot t + \left(\ell \cdot \ell\right))_*\right) \cdot \left(\frac{1 + x}{-1 + x}\right) + \left(\ell \cdot \left(-\ell\right)\right))_*}}\]
    3. Taylor expanded around -inf 2.6

      \[\leadsto \frac{t \cdot \sqrt{2}}{\color{blue}{-\left(t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}\right)}}\]

    if -1.2128111436161243e+114 < t < 1.9387688460025505e-287 or 1.400368300731661e-160 < t < 2.3877704099088408e+30

    1. Initial program 34.9

      \[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
    2. Initial simplification34.9

      \[\leadsto \frac{t \cdot \sqrt{2}}{\sqrt{(\left((\left(2 \cdot t\right) \cdot t + \left(\ell \cdot \ell\right))_*\right) \cdot \left(\frac{1 + x}{-1 + x}\right) + \left(\ell \cdot \left(-\ell\right)\right))_*}}\]
    3. Taylor expanded around -inf 14.4

      \[\leadsto \frac{t \cdot \sqrt{2}}{\sqrt{\color{blue}{2 \cdot {t}^{2} + \left(4 \cdot \frac{{t}^{2}}{x} + 2 \cdot \frac{{\ell}^{2}}{x}\right)}}}\]
    4. Simplified10.1

      \[\leadsto \frac{t \cdot \sqrt{2}}{\sqrt{\color{blue}{(2 \cdot \left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) + \left(\left(t \cdot 4\right) \cdot \frac{t}{x}\right))_*}}}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt10.1

      \[\leadsto \frac{t \cdot \color{blue}{\left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}\right)}}{\sqrt{(2 \cdot \left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) + \left(\left(t \cdot 4\right) \cdot \frac{t}{x}\right))_*}}\]
    7. Applied associate-*r*10.1

      \[\leadsto \frac{\color{blue}{\left(t \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right) \cdot \sqrt[3]{\sqrt{2}}}}{\sqrt{(2 \cdot \left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) + \left(\left(t \cdot 4\right) \cdot \frac{t}{x}\right))_*}}\]

    if 1.9387688460025505e-287 < t < 1.400368300731661e-160 or 2.3877704099088408e+30 < t

    1. Initial program 47.8

      \[\frac{\sqrt{2} \cdot t}{\sqrt{\frac{x + 1}{x - 1} \cdot \left(\ell \cdot \ell + 2 \cdot \left(t \cdot t\right)\right) - \ell \cdot \ell}}\]
    2. Initial simplification47.8

      \[\leadsto \frac{t \cdot \sqrt{2}}{\sqrt{(\left((\left(2 \cdot t\right) \cdot t + \left(\ell \cdot \ell\right))_*\right) \cdot \left(\frac{1 + x}{-1 + x}\right) + \left(\ell \cdot \left(-\ell\right)\right))_*}}\]
    3. Taylor expanded around inf 12.5

      \[\leadsto \frac{t \cdot \sqrt{2}}{\color{blue}{t \cdot \sqrt{2} + 2 \cdot \frac{t}{\sqrt{2} \cdot x}}}\]
    4. Simplified12.5

      \[\leadsto \frac{t \cdot \sqrt{2}}{\color{blue}{(\left(\frac{\frac{2}{x}}{\sqrt{2}}\right) \cdot t + \left(t \cdot \sqrt{2}\right))_*}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification9.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -1.2128111436161243 \cdot 10^{+114}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\frac{t}{x \cdot \sqrt{2}} \cdot -2 + \left(-t\right) \cdot \sqrt{2}}\\ \mathbf{elif}\;t \le 1.9387688460025505 \cdot 10^{-287} \lor \neg \left(t \le 1.400368300731661 \cdot 10^{-160}\right) \land t \le 2.3877704099088408 \cdot 10^{+30}:\\ \;\;\;\;\frac{\sqrt[3]{\sqrt{2}} \cdot \left(t \cdot \left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right)\right)}{\sqrt{(2 \cdot \left((\left(\frac{\ell}{x}\right) \cdot \ell + \left(t \cdot t\right))_*\right) + \left(\left(4 \cdot t\right) \cdot \frac{t}{x}\right))_*}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{(\left(\frac{\frac{2}{x}}{\sqrt{2}}\right) \cdot t + \left(\sqrt{2} \cdot t\right))_*}\\ \end{array}\]

Reproduce

herbie shell --seed 2018360 +o rules:numerics
(FPCore (x l t)
  :name "Toniolo and Linder, Equation (7)"
  (/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))))

Details

Time bar (total: 28.9s)Debug log

start1.1s

Algorithm
intervals

setup454.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 44.4b

localize48.0ms

Local error

Found 4 expressions with local error:

19.7b
(sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))
14.5b
(fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))
0.5b
(* t (sqrt 2))
0.0b
(/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))

rewrite10.0ms

Algorithm
rewrite-expression-head
Counts
4 → 64
Calls

4 calls. Slowest were:

4.0ms
(/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))
3.0ms
(sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))
1.0ms
(* t (sqrt 2))

series598.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

312.0ms
(/ (* t (sqrt 2)) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))
160.0ms
(sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))
97.0ms
(fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))
28.0ms
(* t (sqrt 2))

simplify9.5s

Counts
39 → 76
Calls

39 calls. Slowest were:

675.0ms
(/ (* (* (* t (sqrt 2)) (* t (sqrt 2))) (* t (sqrt 2))) (* (* (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))) (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))))
446.0ms
(sqrt (* (cbrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))) (cbrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l))))))
444.0ms
(sqrt (sqrt (fma (fma (* 2 t) t (* l l)) (/ (+ 1 x) (+ -1 x)) (* l (- l)))))

prune1.6s

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 5.2b

localize41.0ms

Local error

Found 4 expressions with local error:

28.1b
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))
2.4b
(fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))
0.5b
(* t (sqrt 2))
0.1b
(* (* t 4) (/ t x))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

6.0ms
(* (* t 4) (/ t x))
2.0ms
(* t (sqrt 2))
2.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))

series335.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

235.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))
43.0ms
(fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))
37.0ms
(* t (sqrt 2))
20.0ms
(* (* t 4) (/ t x))

simplify1.3s

Counts
26 → 68
Calls

26 calls. Slowest were:

532.0ms
(* (* (* (* t 4) (* t 4)) (* t 4)) (* (* (/ t x) (/ t x)) (/ t x)))
149.0ms
(sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))
143.0ms
(+ (* 2 (pow t 2)) (+ (* 2 (/ (pow l 2) x)) (* 4 (/ (pow t 2) x))))

prune1.2s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 5.2b

localize13.0ms

Local error

Found 4 expressions with local error:

28.1b
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))
2.4b
(fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))
0.3b
(* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2)))
0.1b
(* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))

rewrite40.0ms

Algorithm
rewrite-expression-head
Counts
4 → 55
Calls

4 calls. Slowest were:

23.0ms
(* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2)))
15.0ms
(* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))
1.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))

series972.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

595.0ms
(* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))
268.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))
68.0ms
(fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))
41.0ms
(* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (cbrt (sqrt 2)))

simplify912.0ms

Counts
26 → 67
Calls

26 calls. Slowest were:

178.0ms
(* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (sqrt 2))
126.0ms
(sqrt (sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))))
117.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))

prune1.3s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 5.2b

localize15.0ms

Local error

Found 4 expressions with local error:

28.1b
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))
2.4b
(fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))
0.4b
(* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))))
0.2b
(* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (cbrt (cbrt (sqrt 2))))

rewrite141.0ms

Algorithm
rewrite-expression-head
Counts
4 → 71
Calls

4 calls. Slowest were:

91.0ms
(* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (cbrt (cbrt (sqrt 2))))
46.0ms
(* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))))
2.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))

series1.0s

Counts
4 → 12
Calls

4 calls. Slowest were:

683.0ms
(* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))))
238.0ms
(sqrt (fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x))))
46.0ms
(fma 2 (fma (/ l x) l (* t t)) (* (* t 4) (/ t x)))
42.0ms
(* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (cbrt (cbrt (sqrt 2))))

simplify3.7s

Counts
42 → 83
Calls

42 calls. Slowest were:

645.0ms
(* (* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))))) (cbrt (sqrt 2)))
480.0ms
(* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* (* (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2)))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))) (* (cbrt (cbrt (sqrt 2))) (cbrt (cbrt (sqrt 2))))))
405.0ms
(* (* (* (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* t (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2))))

prune1.8s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 5.2b

regimes475.0ms

Accuracy

75.5% (5.7b remaining)

Error of 9.5b against oracle of 3.8b and baseline of 27.0b

bsearch2.3s