Average Error: 15.7 → 0.9
Time: 12.6s
Precision: 64
Internal Precision: 128
\[\sqrt[3]{\frac{g}{2 \cdot a}}\]
\[\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{g}}{\sqrt[3]{a}}\]

Error

Bits error versus g

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.7

    \[\sqrt[3]{\frac{g}{2 \cdot a}}\]
  2. Initial simplification15.7

    \[\leadsto \sqrt[3]{\frac{g}{a \cdot 2}}\]
  3. Using strategy rm
  4. Applied div-inv15.7

    \[\leadsto \sqrt[3]{\color{blue}{g \cdot \frac{1}{a \cdot 2}}}\]
  5. Applied cbrt-prod0.8

    \[\leadsto \color{blue}{\sqrt[3]{g} \cdot \sqrt[3]{\frac{1}{a \cdot 2}}}\]
  6. Taylor expanded around -inf 0.8

    \[\leadsto \sqrt[3]{g} \cdot \sqrt[3]{\color{blue}{\frac{\frac{1}{2}}{a}}}\]
  7. Using strategy rm
  8. Applied cbrt-div0.9

    \[\leadsto \sqrt[3]{g} \cdot \color{blue}{\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt[3]{a}}}\]
  9. Using strategy rm
  10. Applied associate-*r/0.9

    \[\leadsto \color{blue}{\frac{\sqrt[3]{g} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt[3]{a}}}\]
  11. Final simplification0.9

    \[\leadsto \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{g}}{\sqrt[3]{a}}\]

Reproduce

herbie shell --seed 2018365 
(FPCore (g a)
  :name "2-ancestry mixing, zero discriminant"
  (cbrt (/ g (* 2 a))))

Details

Time bar (total: 8.1s)Debug log

start91.0ms

Algorithm
intervals

setup25.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 16.4b

localize9.0ms

Local error

Found 1 expressions with local error:

16.4b
(cbrt (/ g (* a 2)))

rewrite1.0ms

Algorithm
rewrite-expression-head
Counts
1 → 13
Calls

1 calls. Slowest were:

1.0ms
(cbrt (/ g (* a 2)))

series145.0ms

Counts
1 → 3
Calls

1 calls. Slowest were:

145.0ms
(cbrt (/ g (* a 2)))

simplify435.0ms

Counts
8 → 16
Calls

8 calls. Slowest were:

207.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log (/ 1 a)) (log (/ 1 g))))))
164.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log (/ -1 a)) (log (/ -1 g))))))
48.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log g) (log a)))))

prune239.0ms

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.4b

localize21.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (/ 1 (* a 2)))
0.6b
(cbrt g)
0.3b
(* (cbrt g) (cbrt (/ 1 (* a 2))))
0.2b
(/ 1 (* a 2))

rewrite12.0ms

Algorithm
rewrite-expression-head
Counts
4 → 58
Calls

4 calls. Slowest were:

8.0ms
(* (cbrt g) (cbrt (/ 1 (* a 2))))
1.0ms
(cbrt (/ 1 (* a 2)))
1.0ms
(/ 1 (* a 2))

series778.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

367.0ms
(cbrt (/ 1 (* a 2)))
261.0ms
(cbrt g)
139.0ms
(* (cbrt g) (cbrt (/ 1 (* a 2))))
11.0ms
(/ 1 (* a 2))

simplify650.0ms

Counts
32 → 70
Calls

32 calls. Slowest were:

209.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log (/ 1 a)) (log (/ 1 g))))))
157.0ms
(* (exp (* 1/3 (- (log (/ -1 a)) (log (/ -1 g))))) (* (cbrt -1) (cbrt -1/2)))
66.0ms
(* g (/ 1 (* a 2)))

prune836.0ms

Pruning

17 alts after pruning (17 fresh and 0 done)

Merged error: 0.1b

localize16.0ms

Local error

Found 3 expressions with local error:

0.6b
(cbrt (/ 1/2 a))
0.6b
(cbrt g)
0.3b
(* (cbrt g) (cbrt (/ 1/2 a)))

rewrite9.0ms

Algorithm
rewrite-expression-head
Counts
3 → 44
Calls

3 calls. Slowest were:

7.0ms
(* (cbrt g) (cbrt (/ 1/2 a)))
1.0ms
(cbrt (/ 1/2 a))
0.0ms
(cbrt g)

series644.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

302.0ms
(cbrt (/ 1/2 a))
239.0ms
(cbrt g)
103.0ms
(* (cbrt g) (cbrt (/ 1/2 a)))

simplify399.0ms

Counts
28 → 53
Calls

28 calls. Slowest were:

179.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log (/ 1 a)) (log (/ 1 g))))))
108.0ms
(* (exp (* 1/3 (- (log (/ -1 a)) (log (/ -1 g))))) (* (cbrt -1) (cbrt -1/2)))
63.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log g) (log a)))))

prune615.0ms

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 0.0b

localize22.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt g)
0.5b
(cbrt a)
0.5b
(/ (cbrt 1/2) (cbrt a))
0.3b
(* (cbrt g) (/ (cbrt 1/2) (cbrt a)))

rewrite18.0ms

Algorithm
rewrite-expression-head
Counts
4 → 73
Calls

4 calls. Slowest were:

9.0ms
(* (cbrt g) (/ (cbrt 1/2) (cbrt a)))
6.0ms
(/ (cbrt 1/2) (cbrt a))
0.0ms
(cbrt g)

series1.1s

Counts
4 → 12
Calls

4 calls. Slowest were:

344.0ms
(/ (cbrt 1/2) (cbrt a))
315.0ms
(cbrt g)
268.0ms
(cbrt a)
132.0ms
(* (cbrt g) (/ (cbrt 1/2) (cbrt a)))

simplify995.0ms

Counts
58 → 85
Calls

58 calls. Slowest were:

232.0ms
(* g (* (* (/ (cbrt 1/2) (cbrt a)) (/ (cbrt 1/2) (cbrt a))) (/ (cbrt 1/2) (cbrt a))))
227.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log (/ 1 a)) (log (/ 1 g))))))
174.0ms
(* (cbrt 1/2) (exp (* 1/3 (- (log (/ -1 a)) (log (/ -1 g))))))

prune884.0ms

Pruning

16 alts after pruning (16 fresh and 0 done)

Merged error: 0.0b

regimes213.0ms

Accuracy

0% (0.8b remaining)

Error of 0.9b against oracle of 0.1b and baseline of 0.9b

bsearch2.0ms