Average Error: 0.0 → 0.0
Time: 41.6s
Precision: 64
Internal Precision: 128
\[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
\[\left(1 - v \cdot v\right) \cdot e^{\log \left(\sqrt{1 - \left(v \cdot v\right) \cdot 3} \cdot \frac{\sqrt{2}}{4}\right)}\]

Error

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right) \cdot \left(1 - v \cdot v\right)\]
  2. Using strategy rm
  3. Applied add-exp-log0.0

    \[\leadsto \color{blue}{e^{\log \left(\frac{\sqrt{2}}{4} \cdot \sqrt{1 - 3 \cdot \left(v \cdot v\right)}\right)}} \cdot \left(1 - v \cdot v\right)\]
  4. Final simplification0.0

    \[\leadsto \left(1 - v \cdot v\right) \cdot e^{\log \left(\sqrt{1 - \left(v \cdot v\right) \cdot 3} \cdot \frac{\sqrt{2}}{4}\right)}\]

Reproduce

herbie shell --seed 2019002 +o rules:numerics
(FPCore (v)
  :name "Falkner and Boettcher, Appendix B, 2"
  (* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v))))

Details

Time bar (total: 41.1s)Debug log

sample136.0ms

Algorithm
intervals

simplify182.0ms

Counts
1 → 1
Calls

1 calls. Slowest were:

181.0ms
(* (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v))))) (- 1 (* v v)))

prune9.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize21.0ms

Local error

Found 3 expressions with local error:

0.1b
(* 3 (* v v))
0.0b
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
0.0b
(- 1 (* 3 (* v v)))

rewrite8.0ms

Algorithm
rewrite-expression-head
Counts
3 → 52
Calls

3 calls. Slowest were:

6.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
1.0ms
(* 3 (* v v))
1.0ms
(- 1 (* 3 (* v v)))

series132.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

87.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
32.0ms
(- 1 (* 3 (* v v)))
12.0ms
(* 3 (* v v))

simplify4.2s

Counts
28 → 61
Calls

28 calls. Slowest were:

1.7s
(* (* (* (/ (sqrt 2) 4) (/ (sqrt 2) 4)) (/ (sqrt 2) 4)) (* (* (sqrt (- 1 (* 3 (* v v)))) (sqrt (- 1 (* 3 (* v v))))) (sqrt (- 1 (* 3 (* v v))))))
428.0ms
(sqrt (+ (* 1 1) (+ (* (* 3 (* v v)) (* 3 (* v v))) (* 1 (* 3 (* v v))))))
375.0ms
(- (* 1/32 (/ (sqrt 2) (* (pow v 3) (pow (sqrt -3) 3)))) (+ (* 1/4 (* (sqrt 2) (* v (sqrt -3)))) (* 1/8 (/ (sqrt 2) (* v (sqrt -3))))))

prune672.0ms

Pruning

2 alts after pruning (2 fresh and 0 done)

Merged error: 0b

localize19.0ms

Local error

Found 4 expressions with local error:

0.1b
(* 3 (* v v))
0.0b
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
0.0b
(- 1 (* 3 (* v v)))
0.0b
(exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))

rewrite24.0ms

Algorithm
rewrite-expression-head
Counts
4 → 73
Calls

4 calls. Slowest were:

10.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
10.0ms
(exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))
2.0ms
(* 3 (* v v))

series246.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

98.0ms
(exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))
92.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
41.0ms
(- 1 (* 3 (* v v)))
15.0ms
(* 3 (* v v))

simplify5.9s

Counts
43 → 85
Calls

43 calls. Slowest were:

1.3s
(* (* (* (/ (sqrt 2) 4) (/ (sqrt 2) 4)) (/ (sqrt 2) 4)) (* (* (sqrt (- 1 (* 3 (* v v)))) (sqrt (- 1 (* 3 (* v v))))) (sqrt (- 1 (* 3 (* v v))))))
395.0ms
(sqrt (+ (* 1 1) (+ (* (* 3 (* v v)) (* 3 (* v v))) (* 1 (* 3 (* v v))))))
381.0ms
(- (+ (* 1/4 (* (sqrt 2) (* v (sqrt -3)))) (* 1/8 (/ (sqrt 2) (* v (sqrt -3))))) (* 1/32 (/ (sqrt 2) (* (pow v 3) (pow (sqrt -3) 3)))))

prune1.1s

Pruning

2 alts after pruning (1 fresh and 1 done)

Merged error: 0b

localize9.0ms

Local error

Found 4 expressions with local error:

1.0b
(* (sqrt (exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))) (sqrt (exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))))
0.1b
(* 3 (* v v))
0.1b
(* 3 (* v v))
0.0b
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))

rewrite47.0ms

Algorithm
rewrite-expression-head
Counts
4 → 119
Calls

4 calls. Slowest were:

34.0ms
(* (sqrt (exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))) (sqrt (exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))))
6.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
1.0ms
(* 3 (* v v))

series177.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

73.0ms
(* (sqrt (exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))) (sqrt (exp (log (* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))))))
64.0ms
(* (/ (sqrt 2) 4) (sqrt (- 1 (* 3 (* v v)))))
21.0ms
(* 3 (* v v))
18.0ms
(* 3 (* v v))

simplify22.7s

Counts
115 → 131
Calls

115 calls. Slowest were:

1.2s
(* (* (* (/ (sqrt 2) 4) (/ (sqrt 2) 4)) (/ (sqrt 2) 4)) (* (* (sqrt (- 1 (* 3 (* v v)))) (sqrt (- 1 (* 3 (* v v))))) (sqrt (- 1 (* 3 (* v v))))))
636.0ms
(- (+ (* 1/4 (* (sqrt 2) (* v (sqrt -3)))) (* 1/8 (/ (sqrt 2) (* v (sqrt -3))))) (* 1/32 (/ (sqrt 2) (* (pow v 3) (pow (sqrt -3) 3)))))
585.0ms
(* (sqrt (exp (log (* 4 (sqrt (+ (* 1 1) (+ (* (* 3 (* v v)) (* 3 (* v v))) (* 1 (* 3 (* v v)))))))))) (sqrt (exp (log (sqrt (+ 1 (* 3 (* v v))))))))

prune2.4s

Pruning

2 alts after pruning (0 fresh and 2 done)

Merged error: 0b

regimes49.0ms

Accuracy

0% (0.0b remaining)

Error of 0.0b against oracle of 0.0b and baseline of 0.0b

bsearch2.0ms

end0.0ms

sample3.1s

Algorithm
intervals