Average Error: 1.7 → 1.5
Time: 42.5s
Precision: 64
Internal Precision: 128
\[\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\]
\[\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt[3]{\sqrt{\left(\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} \cdot \left(\sqrt[3]{\sqrt{\left(\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} \cdot \sqrt[3]{\sqrt{\left(\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}}\right)}\right)}\]

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 1.7

    \[\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\]
  2. Using strategy rm
  3. Applied unpow21.7

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \color{blue}{\left(\frac{2 \cdot \ell}{Om} \cdot \frac{2 \cdot \ell}{Om}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\]
  4. Applied associate-*l*1.5

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \color{blue}{\frac{2 \cdot \ell}{Om} \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}}\right)}\]
  5. Using strategy rm
  6. Applied add-cube-cbrt1.5

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\color{blue}{\left(\sqrt[3]{\sqrt{1 + \frac{2 \cdot \ell}{Om} \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}} \cdot \sqrt[3]{\sqrt{1 + \frac{2 \cdot \ell}{Om} \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}\right) \cdot \sqrt[3]{\sqrt{1 + \frac{2 \cdot \ell}{Om} \cdot \left(\frac{2 \cdot \ell}{Om} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}}}\right)}\]
  7. Final simplification1.5

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt[3]{\sqrt{\left(\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} \cdot \left(\sqrt[3]{\sqrt{\left(\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} \cdot \sqrt[3]{\sqrt{\left(\left({\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}}\right)}\right)}\]

Reproduce

herbie shell --seed 2019002 +o rules:numerics
(FPCore (l Om kx ky)
  :name "Toniolo and Linder, Equation (3a)"
  (sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))

Details

Time bar (total: 41.5s)Debug log

sample119.0ms

Algorithm
intervals

simplify656.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

655.0ms
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))))

prune17.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 1.8b

localize47.0ms

Local error

Found 4 expressions with local error:

10.7b
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
3.5b
(* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))
0.3b
(pow (sin ky) 2)
0.2b
(/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))

rewrite28.0ms

Algorithm
rewrite-expression-head
Counts
4 → 87
Calls

4 calls. Slowest were:

13.0ms
(* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))
2.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
1.0ms
(/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))

series720.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

293.0ms
(/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
230.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
173.0ms
(* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))
23.0ms
(pow (sin ky) 2)

simplify6.6s

Counts
53 → 99
Calls

53 calls. Slowest were:

612.0ms
(* (pow (/ (* 2 l) Om) 2) (pow (sin ky) 2))
527.0ms
(* (pow (sin ky) 2) (pow (/ (* 2 l) Om) 2))
426.0ms
(sqrt (- 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))

prune1.8s

Pruning

4 alts after pruning (4 fresh and 0 done)

Merged error: 0.8b

localize47.0ms

Local error

Found 4 expressions with local error:

10.7b
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
2.2b
(* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))
0.7b
(* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))
0.3b
(pow (sin ky) 2)

rewrite78.0ms

Algorithm
rewrite-expression-head
Counts
4 → 97
Calls

4 calls. Slowest were:

45.0ms
(* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))
28.0ms
(* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))
2.0ms
(pow (sin ky) 2)

series561.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

226.0ms
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
163.0ms
(* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))
148.0ms
(* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))
24.0ms
(pow (sin ky) 2)

simplify10.2s

Counts
72 → 109
Calls

72 calls. Slowest were:

708.0ms
(* (* 2 l) (* (* 2 l) (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2)))))
500.0ms
(* (* 2 l) (* (* 2 l) (+ (pow (sin kx) 2) (pow (sin ky) 2))))
491.0ms
(* (* (* (/ (* 2 l) Om) (/ (* 2 l) Om)) (/ (* 2 l) Om)) (* (* (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))

prune2.1s

Pruning

3 alts after pruning (3 fresh and 0 done)

Merged error: 0.8b

localize28.0ms

Local error

Found 4 expressions with local error:

10.7b
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
10.7b
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
10.7b
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
6.2b
(cbrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))

rewrite3.0ms

Algorithm
rewrite-expression-head
Counts
4 → 66
Calls

4 calls. Slowest were:

1.0ms
(cbrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
1.0ms
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
1.0ms
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

366.0ms
(cbrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
282.0ms
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
264.0ms
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
229.0ms
(sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))

simplify4.5s

Counts
38 → 78
Calls

38 calls. Slowest were:

509.0ms
(sqrt (sqrt (+ 1 (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
304.0ms
(cbrt (sqrt (- (* 1 1) (* (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))
303.0ms
(sqrt (- (* 1 1) (* (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (* (/ (* 2 l) Om) (* (/ (* 2 l) Om) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))

prune1.9s

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.8b

localize41.0ms

Local error

Found 4 expressions with local error:

10.7b
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
10.7b
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
10.7b
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
6.0b
(cbrt (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))

rewrite6.0ms

Algorithm
rewrite-expression-head
Counts
4 → 65
Calls

4 calls. Slowest were:

1.0ms
(cbrt (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
1.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
1.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))

series904.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

312.0ms
(cbrt (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
236.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
187.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
169.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))

simplify3.6s

Counts
37 → 77
Calls

37 calls. Slowest were:

279.0ms
(sqrt (* (cbrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (cbrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))))
250.0ms
(sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
237.0ms
(sqrt (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))

prune1.8s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.8b

regimes1.1s

Accuracy

0% (0.8b remaining)

Error of 1.5b against oracle of 0.7b and baseline of 1.5b

bsearch4.0ms

end0.0ms

sample3.5s

Algorithm
intervals