Average Error: 42.0 → 9.3
Time: 39.7s
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 -5.794477429976132 \cdot 10^{+47}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{x}}{2 \cdot x} - \frac{t}{x}\right) \cdot \frac{2}{\sqrt{2}} - \left(\sqrt{2} \cdot t + \frac{\frac{t}{x}}{x} \cdot \frac{2}{\sqrt{2}}\right)}\\ \mathbf{elif}\;t \le -3.7665317815387335 \cdot 10^{-159}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(t \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 + \frac{4}{x}\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(\ell \cdot 2\right)}}\\ \mathbf{elif}\;t \le -3.86239255768365 \cdot 10^{-214}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{x}}{2 \cdot x} - \frac{t}{x}\right) \cdot \frac{2}{\sqrt{2}} - \left(\sqrt{2} \cdot t + \frac{\frac{t}{x}}{x} \cdot \frac{2}{\sqrt{2}}\right)}\\ \mathbf{elif}\;t \le 8.117102443425849 \cdot 10^{+104}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(t \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 + \frac{4}{x}\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(\ell \cdot 2\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{t \cdot \left(\frac{\frac{2}{x}}{\sqrt{2}} + \sqrt{2}\right) + \left(t - \frac{t}{2}\right) \cdot \frac{\frac{\frac{2}{x}}{x}}{\sqrt{2}}}\\ \end{array}\]

Error

Bits error versus x

Bits error versus l

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 3 regimes
  2. if t < -5.794477429976132e+47 or -3.7665317815387335e-159 < t < -3.86239255768365e-214

    1. Initial program 46.2

      \[\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. Taylor expanded around -inf 8.1

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

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

    if -5.794477429976132e+47 < t < -3.7665317815387335e-159 or -3.86239255768365e-214 < t < 8.117102443425849e+104

    1. Initial program 36.5

      \[\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. Taylor expanded around -inf 16.2

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

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

      \[\leadsto \frac{\color{blue}{\left(\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}\right)} \cdot t}{\sqrt{\frac{\ell}{x} \cdot \left(\ell \cdot 2\right) + \left(2 + \frac{4}{x}\right) \cdot \left(t \cdot t\right)}}\]
    6. Applied associate-*l*12.3

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

    if 8.117102443425849e+104 < t

    1. Initial program 51.1

      \[\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. Taylor expanded around inf 3.0

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -5.794477429976132 \cdot 10^{+47}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{x}}{2 \cdot x} - \frac{t}{x}\right) \cdot \frac{2}{\sqrt{2}} - \left(\sqrt{2} \cdot t + \frac{\frac{t}{x}}{x} \cdot \frac{2}{\sqrt{2}}\right)}\\ \mathbf{elif}\;t \le -3.7665317815387335 \cdot 10^{-159}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(t \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 + \frac{4}{x}\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(\ell \cdot 2\right)}}\\ \mathbf{elif}\;t \le -3.86239255768365 \cdot 10^{-214}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{\left(\frac{\frac{t}{x}}{2 \cdot x} - \frac{t}{x}\right) \cdot \frac{2}{\sqrt{2}} - \left(\sqrt{2} \cdot t + \frac{\frac{t}{x}}{x} \cdot \frac{2}{\sqrt{2}}\right)}\\ \mathbf{elif}\;t \le 8.117102443425849 \cdot 10^{+104}:\\ \;\;\;\;\frac{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \left(t \cdot \sqrt[3]{\sqrt{2}}\right)}{\sqrt{\left(2 + \frac{4}{x}\right) \cdot \left(t \cdot t\right) + \frac{\ell}{x} \cdot \left(\ell \cdot 2\right)}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt{2} \cdot t}{t \cdot \left(\frac{\frac{2}{x}}{\sqrt{2}} + \sqrt{2}\right) + \left(t - \frac{t}{2}\right) \cdot \frac{\frac{\frac{2}{x}}{x}}{\sqrt{2}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019010 
(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: 38.3s)Debug log

sample413.0ms

Algorithm
intervals

simplify307.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
304.0ms
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))

prune19.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 40.3b

localize44.0ms

Local error

Found 4 expressions with local error:

18.9b
(sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))
10.6b
(- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))
0.4b
(* (sqrt 2) t)
0.0b
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))

rewrite51.0ms

Algorithm
rewrite-expression-head
Rules
11×add-sqr-sqrt
10×add-cube-cbrt
10×*-un-lft-identity
sqrt-prod
add-log-exp
add-exp-log
add-cbrt-cube
times-frac
associate-/r*
sqrt-div
pow1
flip--
associate-*l*
flip3--
associate-/r/
associate--l+
associate-/l*
div-inv
*-commutative
div-exp
diff-log
pow1/2
distribute-lft-in
frac-2neg
sub-neg
clear-num
rem-sqrt-square
cbrt-undiv
distribute-rgt-in
Counts
4 → 66
Calls
4 calls:
Slowest
19.0ms
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))
15.0ms
(- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))
11.0ms
(sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))
2.0ms
(* (sqrt 2) t)

series1.5s

Counts
4 → 12
Calls
4 calls:
Slowest
982.0ms
(sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l)))
285.0ms
(/ (* (sqrt 2) t) (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))
168.0ms
(- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))
41.0ms
(* (sqrt 2) t)

simplify8.1s

Counts
46 → 78
Calls
46 calls:
Slowest
503.0ms
(- (+ (* 2 (pow t 2)) (+ (* 2 (* x (pow l 2))) (* 2 (pow l 2)))))
405.0ms
(- (* (sqrt -2) t) (+ (* 2 (/ (* t x) (sqrt -2))) (+ (* 2 (/ (* t (pow x 2)) (sqrt -2))) (* 2 (/ (* t (pow x 2)) (pow (sqrt -2) 3))))))
342.0ms
(cbrt (sqrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))
309.0ms
(/ (sqrt 2) (sqrt (* (cbrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))) (cbrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))))
297.0ms
(sqrt (cbrt (- (* (/ (+ x 1) (- x 1)) (+ (* l l) (* 2 (* t t)))) (* l l))))

prune999.0ms

Pruning

6 alts after pruning (6 fresh and 0 done)

Merged error: 4.1b

localize47.0ms

Local error

Found 4 expressions with local error:

25.0b
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
0.4b
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
0.4b
(* (sqrt 2) t)
0.1b
(* (/ l x) (* l 2))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
associate-*l/
add-sqr-sqrt
add-cube-cbrt
associate-*l*
*-un-lft-identity
add-log-exp
add-exp-log
add-cbrt-cube
pow1
flip-+
frac-add
sqrt-div
flip3-+
sqrt-prod
*-commutative
div-inv
cbrt-unprod
prod-exp
pow-prod-down
associate-*r*
pow1/2
sum-log
rem-sqrt-square
+-commutative
Counts
4 → 57
Calls
4 calls:
Slowest
13.0ms
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
11.0ms
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
6.0ms
(* (/ l x) (* l 2))
4.0ms
(* (sqrt 2) t)

series410.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
284.0ms
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
64.0ms
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
41.0ms
(* (sqrt 2) t)
21.0ms
(* (/ l x) (* l 2))

simplify3.4s

Counts
33 → 69
Calls
33 calls:
Slowest
471.0ms
(* (* (* (/ l x) (/ l x)) (/ l x)) (* (* (* l 2) (* l 2)) (* l 2)))
432.0ms
(+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))
428.0ms
(* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x)))))
379.0ms
(sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))))
277.0ms
(* (exp (* (/ l x) (* l 2))) (exp (* (+ 2 (/ 4 x)) (* t t))))

prune1.1s

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 3.5b

localize21.0ms

Local error

Found 4 expressions with local error:

25.0b
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
0.4b
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
0.3b
(* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t))
0.2b
(* (cbrt (sqrt 2)) t)

rewrite47.0ms

Algorithm
rewrite-expression-head
Rules
add-exp-log
pow1
associate-*l/
add-sqr-sqrt
add-cube-cbrt
associate-*l*
add-cbrt-cube
*-un-lft-identity
add-log-exp
flip-+
frac-add
sqrt-div
flip3-+
cbrt-unprod
sqrt-prod
prod-exp
pow-prod-down
cbrt-prod
*-commutative
associate-*r*
pow1/2
sum-log
rem-sqrt-square
+-commutative
Counts
4 → 59
Calls
4 calls:
Slowest
25.0ms
(* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t))
9.0ms
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
6.0ms
(* (cbrt (sqrt 2)) t)
5.0ms
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))

series796.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
439.0ms
(* (cbrt (sqrt 2)) t)
254.0ms
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
68.0ms
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
34.0ms
(* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) t))

simplify3.8s

Counts
37 → 71
Calls
37 calls:
Slowest
700.0ms
(* (exp (* (/ l x) (* l 2))) (exp (* (+ 2 (/ 4 x)) (* t t))))
420.0ms
(* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x)))))
415.0ms
(* (* (* (* (cbrt (sqrt 2)) (cbrt (sqrt 2))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (cbrt (sqrt 2)) (cbrt (sqrt 2)))) (* (* (* (cbrt (sqrt 2)) t) (* (cbrt (sqrt 2)) t)) (* (cbrt (sqrt 2)) t)))
412.0ms
(+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))
362.0ms
(sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))))

prune1.2s

Pruning

10 alts after pruning (9 fresh and 1 done)

Merged error: 3.5b

localize20.0ms

Local error

Found 4 expressions with local error:

25.0b
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
0.4b
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
0.3b
(* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t))
0.2b
(* (sqrt (sqrt 2)) t)

rewrite33.0ms

Algorithm
rewrite-expression-head
Rules
12×associate-*l*
10×add-sqr-sqrt
sqrt-prod
add-cube-cbrt
*-un-lft-identity
associate-*l/
add-log-exp
add-exp-log
add-cbrt-cube
pow1
flip-+
frac-add
sqrt-div
flip3-+
*-commutative
cbrt-unprod
prod-exp
pow-prod-down
associate-*r*
pow1/2
sum-log
rem-sqrt-square
+-commutative
Counts
4 → 61
Calls
4 calls:
Slowest
11.0ms
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
10.0ms
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
8.0ms
(* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t))
3.0ms
(* (sqrt (sqrt 2)) t)

series391.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
234.0ms
(sqrt (+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t))))
69.0ms
(* (sqrt (sqrt 2)) t)
47.0ms
(+ (* (/ l x) (* l 2)) (* (+ 2 (/ 4 x)) (* t t)))
41.0ms
(* (sqrt (sqrt 2)) (* (sqrt (sqrt 2)) t))

simplify2.9s

Counts
38 → 73
Calls
38 calls:
Slowest
424.0ms
(+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t))))
391.0ms
(* (* (* (sqrt (sqrt 2)) (sqrt (sqrt 2))) (sqrt (sqrt 2))) (* (* (* (sqrt (sqrt 2)) t) (* (sqrt (sqrt 2)) t)) (* (sqrt (sqrt 2)) t)))
379.0ms
(sqrt (+ (* (* l (* l 2)) (- 2 (/ 4 x))) (* x (* (- (* 2 2) (* (/ 4 x) (/ 4 x))) (* t t)))))
342.0ms
(* x (+ (* 2 2) (- (* (/ 4 x) (/ 4 x)) (* 2 (/ 4 x)))))
245.0ms
(* (exp (* (/ l x) (* l 2))) (exp (* (+ 2 (/ 4 x)) (* t t))))

prune1.1s

Pruning

10 alts after pruning (8 fresh and 2 done)

Merged error: 3.5b

regimes927.0ms

Accuracy

74.8% (5.9b remaining)

Error of 9.3b against oracle of 3.4b and baseline of 26.9b

bsearch2.0s

end0.0ms

sample8.7s

Algorithm
intervals