Average Error: 12.9 → 13.1
Time: 36.3s
Precision: 64
Internal Precision: 128
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\left(\left(\sqrt[3]{\frac{1}{\sqrt{{\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}}} \cdot \sin ky} \cdot \sqrt[3]{\frac{1}{\sqrt{{\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}}} \cdot \sin ky}\right) \cdot \frac{\sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}}}}\right) \cdot \sin th\]

Error

Bits error versus kx

Bits error versus ky

Bits error versus th

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 12.9

    \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
  2. Using strategy rm
  3. Applied div-inv12.9

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

    \[\leadsto \color{blue}{\sin ky \cdot \left(\frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\right)}\]
  5. Using strategy rm
  6. Applied associate-*r*12.9

    \[\leadsto \color{blue}{\left(\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}\right) \cdot \sin th}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt13.2

    \[\leadsto \color{blue}{\left(\left(\sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right)} \cdot \sin th\]
  9. Using strategy rm
  10. Applied associate-*r/13.2

    \[\leadsto \left(\left(\sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sqrt[3]{\color{blue}{\frac{\sin ky \cdot 1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sin th\]
  11. Applied cbrt-div13.1

    \[\leadsto \left(\left(\sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \color{blue}{\frac{\sqrt[3]{\sin ky \cdot 1}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sin th\]
  12. Simplified13.1

    \[\leadsto \left(\left(\sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sqrt[3]{\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \frac{\color{blue}{\sqrt[3]{\sin ky}}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sin th\]
  13. Final simplification13.1

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

Reproduce

herbie shell --seed 2019005 
(FPCore (kx ky th)
  :name "Toniolo and Linder, Equation (3b), real"
  (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))

Details

Time bar (total: 31.2s)Debug log

sample553.0ms

Algorithm
intervals

simplify29.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

28.0ms
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))

prune11.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 12.4b

localize78.0ms

Local error

Found 4 expressions with local error:

3.9b
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
0.3b
(pow (sin ky) 2)
0.2b
(pow (sin kx) 2)
0.2b
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
4 → 91
Calls

4 calls. Slowest were:

16.0ms
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
10.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
1.0ms
(pow (sin ky) 2)

series317.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

157.0ms
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
116.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
27.0ms
(pow (sin kx) 2)
17.0ms
(pow (sin ky) 2)

simplify1.9s

Counts
68 → 103
Calls

68 calls. Slowest were:

540.0ms
(* (/ (* (* (sin ky) (sin ky)) (sin ky)) (* (* (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th)))
206.0ms
(- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3)))
203.0ms
(* (* (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th)))

prune1.9s

Pruning

20 alts after pruning (20 fresh and 0 done)

Merged error: 11.4b

localize19.0ms

Local error

Found 4 expressions with local error:

3.9b
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
0.3b
(* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
0.3b
(pow (sin ky) 2)
0.3b
(* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))

rewrite33.0ms

Algorithm
rewrite-expression-head
Counts
4 → 72
Calls

4 calls. Slowest were:

13.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
12.0ms
(* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))
6.0ms
(* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))

series482.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

215.0ms
(* (sin ky) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))
135.0ms
(* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))
108.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
24.0ms
(pow (sin ky) 2)

simplify2.6s

Counts
48 → 84
Calls

48 calls. Slowest were:

461.0ms
(* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))) (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th))))
447.0ms
(* (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th)))
324.0ms
(* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (* (* (sin th) (sin th)) (sin th))))

prune1.4s

Pruning

24 alts after pruning (24 fresh and 0 done)

Merged error: 11.4b

localize13.0ms

Local error

Found 4 expressions with local error:

3.9b
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
0.3b
(pow (sin ky) 2)
0.2b
(* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
0.2b
(pow (sin kx) 2)

rewrite32.0ms

Algorithm
rewrite-expression-head
Counts
4 → 67
Calls

4 calls. Slowest were:

16.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
10.0ms
(* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
2.0ms
(pow (sin ky) 2)

series314.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

175.0ms
(* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))))
87.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
27.0ms
(pow (sin ky) 2)
25.0ms
(pow (sin kx) 2)

simplify1.2s

Counts
44 → 79
Calls

44 calls. Slowest were:

393.0ms
(* (* (* (sin ky) (sin ky)) (sin ky)) (* (* (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
184.0ms
(sqrt (- (* (pow (sin kx) 2) (pow (sin kx) 2)) (* (pow (sin ky) 2) (pow (sin ky) 2))))
175.0ms
(- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3)))

prune1.5s

Pruning

27 alts after pruning (27 fresh and 0 done)

Merged error: 11.4b

localize40.0ms

Local error

Found 4 expressions with local error:

3.9b
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
3.9b
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
3.9b
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
0.4b
(cbrt (* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))

rewrite56.0ms

Algorithm
rewrite-expression-head
Counts
4 → 59
Calls

4 calls. Slowest were:

17.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
16.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
16.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))

series490.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

208.0ms
(cbrt (* (sin ky) (/ 1 (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))))
103.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
91.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))
87.0ms
(sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))

simplify1.5s

Counts
39 → 71
Calls

39 calls. Slowest were:

233.0ms
(- (+ (exp (* 1/3 (- (log ky) (log kx)))) (* 1/18 (* (pow kx 2) (exp (* 1/3 (- (log ky) (log kx))))))) (+ (* 1/18 (* (pow ky 2) (exp (* 1/3 (- (log ky) (log kx)))))) (* 1/6 (* (exp (* 1/3 (- (log ky) (* 7 (log kx))))) (pow ky 2)))))
216.0ms
(- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3)))
213.0ms
(- (+ (* 1/12 (* (pow kx 2) ky)) ky) (* 1/6 (pow ky 3)))

prune1.5s

Pruning

28 alts after pruning (28 fresh and 0 done)

Merged error: 11.4b

regimes2.7s

Accuracy

0% (1.5b remaining)

Error of 13.1b against oracle of 11.6b and baseline of 13.1b

bsearch5.0ms

end0.0ms

sample12.4s

Algorithm
intervals