Average Error: 33.8 → 28.6
Time: 57.0s
Precision: 64
Internal Precision: 128
\[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
\[\begin{array}{l} \mathbf{if}\;U \le -5.234796101073401 \cdot 10^{-37} \lor \neg \left(U \le 6.819227687974137 \cdot 10^{-57}\right):\\ \;\;\;\;\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)} \cdot \left(\sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\ \end{array}\]

Error

Bits error versus n

Bits error versus U

Bits error versus t

Bits error versus l

Bits error versus Om

Bits error versus U*

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if U < -5.234796101073401e-37 or 6.819227687974137e-57 < U

    1. Initial program 28.7

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    2. Using strategy rm
    3. Applied associate-/l*25.8

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \color{blue}{\frac{\ell}{\frac{Om}{\ell}}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt25.9

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \color{blue}{\left(\sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\right) \cdot \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}}\right)}\]

    if -5.234796101073401e-37 < U < 6.819227687974137e-57

    1. Initial program 38.0

      \[\sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \frac{\ell \cdot \ell}{Om}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    2. Using strategy rm
    3. Applied associate-/l*35.9

      \[\leadsto \sqrt{\left(\left(2 \cdot n\right) \cdot U\right) \cdot \left(\left(t - 2 \cdot \color{blue}{\frac{\ell}{\frac{Om}{\ell}}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)}\]
    4. Using strategy rm
    5. Applied associate-*l*30.9

      \[\leadsto \sqrt{\color{blue}{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification28.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;U \le -5.234796101073401 \cdot 10^{-37} \lor \neg \left(U \le 6.819227687974137 \cdot 10^{-57}\right):\\ \;\;\;\;\sqrt{\left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)} \cdot \left(\sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)} \cdot \sqrt[3]{\left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)}\right)\right) \cdot \left(\left(2 \cdot n\right) \cdot U\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{\left(2 \cdot n\right) \cdot \left(U \cdot \left(\left(t - 2 \cdot \frac{\ell}{\frac{Om}{\ell}}\right) - \left(n \cdot {\left(\frac{\ell}{Om}\right)}^{2}\right) \cdot \left(U - U*\right)\right)\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2018365 
(FPCore (n U t l Om U*)
  :name "Toniolo and Linder, Equation (13)"
  (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))

Details

Time bar (total: 43.0s)Debug log

start365.0ms

Algorithm
intervals

setup106.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 32.9b

localize57.0ms

Local error

Found 4 expressions with local error:

16.4b
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
12.0b
(* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))
7.9b
(/ (* l l) Om)
7.5b
(* (* n (pow (/ l Om) 2)) (- U U*))

rewrite49.0ms

Algorithm
rewrite-expression-head
Counts
4 → 76
Calls

4 calls. Slowest were:

24.0ms
(* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))
16.0ms
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
6.0ms
(* (* n (pow (/ l Om) 2)) (- U U*))

series1.5s

Counts
4 → 12
Calls

4 calls. Slowest were:

1.1s
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
342.0ms
(* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))
93.0ms
(* (* n (pow (/ l Om) 2)) (- U U*))
16.0ms
(/ (* l l) Om)

simplify7.9s

Counts
52 → 88
Calls

52 calls. Slowest were:

377.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ (* l l) Om)) 3)) (+ U U*)) (* (+ (* t t) (+ (* (* 2 (/ (* l l) Om)) (* 2 (/ (* l l) Om))) (* t (* 2 (/ (* l l) Om))))) (* (* n (pow (/ l Om) 2)) (- (* U U) (* U* U*)))))))
375.0ms
(+ (log (* (* 2 n) U)) (log (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
365.0ms
(* (+ t (* 2 (/ (* l l) Om))) (+ U U*))

prune1.8s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 20.4b

localize38.0ms

Local error

Found 4 expressions with local error:

16.4b
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
12.0b
(* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))
7.5b
(* (* n (pow (/ l Om) 2)) (- U U*))
6.5b
(* n (pow (/ l Om) 2))

rewrite50.0ms

Algorithm
rewrite-expression-head
Counts
4 → 81
Calls

4 calls. Slowest were:

22.0ms
(* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))
15.0ms
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
7.0ms
(* (* n (pow (/ l Om) 2)) (- U U*))

series1.8s

Counts
4 → 12
Calls

4 calls. Slowest were:

1.3s
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))
365.0ms
(* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))
116.0ms
(* (* n (pow (/ l Om) 2)) (- U U*))
49.0ms
(* n (pow (/ l Om) 2))

simplify8.8s

Counts
60 → 93
Calls

60 calls. Slowest were:

746.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ (* U U) (+ (* U* U*) (* U U*)))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* n (pow (/ l Om) 2)) (- (pow U 3) (pow U* 3)))))))
381.0ms
(* (- U*) (* n (pow (/ l Om) 2)))
339.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ U U*)) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* n (pow (/ l Om) 2)) (- (* U U) (* U* U*)))))))

prune2.0s

Pruning

11 alts after pruning (11 fresh and 0 done)

Merged error: 18.9b

localize40.0ms

Local error

Found 4 expressions with local error:

16.4b
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
13.8b
(cbrt (/ l Om))
13.8b
(cbrt (/ l Om))
13.8b
(cbrt (/ l Om))

rewrite54.0ms

Algorithm
rewrite-expression-head
Counts
4 → 54
Calls

4 calls. Slowest were:

52.0ms
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
0.0ms
(cbrt (/ l Om))
0.0ms
(cbrt (/ l Om))

series1.3s

Counts
4 → 12
Calls

4 calls. Slowest were:

1.1s
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
99.0ms
(cbrt (/ l Om))
84.0ms
(cbrt (/ l Om))
80.0ms
(cbrt (/ l Om))

simplify3.4s

Counts
34 → 66
Calls

34 calls. Slowest were:

420.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ U U*)) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- (* U U) (* U* U*)))))))
397.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ (* U U) (+ (* U* U*) (* U U*)))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- (pow U 3) (pow U* 3)))))))
327.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (* t t) (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l))))) (+ (* U U) (+ (* U* U*) (* U U*)))) (* (+ t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- (pow U 3) (pow U* 3)))))))

prune1.5s

Pruning

10 alts after pruning (10 fresh and 0 done)

Merged error: 18.9b

localize30.0ms

Local error

Found 4 expressions with local error:

16.4b
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
16.4b
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
13.8b
(cbrt (/ l Om))
13.8b
(cbrt (/ l Om))

rewrite163.0ms

Algorithm
rewrite-expression-head
Counts
4 → 56
Calls

4 calls. Slowest were:

107.0ms
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
54.0ms
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
0.0ms
(cbrt (/ l Om))

series2.4s

Counts
4 → 12
Calls

4 calls. Slowest were:

1.1s
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
1.1s
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- U U*)))))
98.0ms
(cbrt (/ l Om))
80.0ms
(cbrt (/ l Om))

simplify5.6s

Counts
36 → 68
Calls

36 calls. Slowest were:

516.0ms
(+ (/ (* (sqrt 2) (* U (* (sqrt -1) (* n l)))) Om) (+ (* 1/2 (/ (* (sqrt 2) (* n (* U* l))) (* (sqrt -1) Om))) (* 1/2 (/ (* (sqrt 2) (* U* l)) (* U (sqrt -1))))))
439.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ U U*)) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- (* U U) (* U* U*)))))))
408.0ms
(sqrt (* (* (* 2 n) U) (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ (* U U) (+ (* U* U*) (* U U*)))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* (* n (pow (* (cbrt (/ l Om)) (cbrt (/ l Om))) 2)) (pow (cbrt (/ l Om)) 2)) (- (pow U 3) (pow U* 3)))))))

prune2.2s

Pruning

11 alts after pruning (10 fresh and 1 done)

Merged error: 18.9b

regimes1.0s

Accuracy

22.7% (7.6b remaining)

Error of 28.6b against oracle of 21.0b and baseline of 30.8b

bsearch701.0ms