Average Error: 0.0 → 0.0
Time: 1.5m
Precision: 64
Internal Precision: 128
\[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
\[\left(z \cdot t + c \cdot i\right) + \left(x \cdot y + a \cdot b\right)\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\left(\left(x \cdot y + z \cdot t\right) + a \cdot b\right) + c \cdot i\]
  2. Initial simplification0.0

    \[\leadsto \left(c \cdot i + z \cdot t\right) + \left(a \cdot b + x \cdot y\right)\]
  3. Final simplification0.0

    \[\leadsto \left(z \cdot t + c \cdot i\right) + \left(x \cdot y + a \cdot b\right)\]

Reproduce

herbie shell --seed 2018360 
(FPCore (x y z t a b c i)
  :name "Linear.V4:$cdot from linear-1.19.1.3"
  (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)))

Details

Time bar (total: 1.5m)Debug log

start125.0ms

Algorithm
intervals

setup97.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.0b

localize34.0ms

Local error

Found 3 expressions with local error:

0.0b
(+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))
0.0b
(+ (* a b) (* x y))
0.0b
(+ (* c i) (* z t))

rewrite372.0ms

Algorithm
rewrite-expression-head
Counts
3 → 43
Calls

3 calls. Slowest were:

367.0ms
(+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))
2.0ms
(+ (* a b) (* x y))
2.0ms
(+ (* c i) (* z t))

series318.0ms

Counts
3 → 9
Calls

3 calls. Slowest were:

245.0ms
(+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))
40.0ms
(+ (* c i) (* z t))
33.0ms
(+ (* a b) (* x y))

simplify2.2s

Counts
26 → 52
Calls

26 calls. Slowest were:

316.0ms
(+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (pow (* a b) 3) (pow (* x y) 3))))
253.0ms
(* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (- (* a b) (* x y)))
241.0ms
(* (- (* c i) (* z t)) (- (* a b) (* x y)))

prune774.0ms

Pruning

4 alts after pruning (3 fresh and 1 done)

Merged error: 0.0b

localize12.0ms

Local error

Found 4 expressions with local error:

0.5b
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.5b
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.5b
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.5b
(* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))))

rewrite86.0ms

Algorithm
rewrite-expression-head
Counts
4 → 132
Calls

4 calls. Slowest were:

47.0ms
(* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))))
13.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
13.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))

series645.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

196.0ms
(* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))))
152.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
150.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
147.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))

simplify22.4s

Counts
148 → 144
Calls

148 calls. Slowest were:

662.0ms
(* (cbrt (+ (* (+ (* c i) (* z t)) (+ (* c i) (* z t))) (- (* (+ (* a b) (* x y)) (+ (* a b) (* x y))) (* (+ (* c i) (* z t)) (+ (* a b) (* x y)))))) (cbrt (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y)))))))
402.0ms
(* (cbrt (+ (pow (+ (* c i) (* z t)) 3) (pow (+ (* a b) (* x y)) 3))) (cbrt (+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (pow (* a b) 3) (pow (* x y) 3))))))
398.0ms
(* (cbrt (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (- (* a b) (* x y)))) (cbrt (* (- (* c i) (* z t)) (- (* a b) (* x y)))))

prune3.1s

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0.0b

localize19.0ms

Local error

Found 4 expressions with local error:

0.6b
(cbrt (* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))))
0.5b
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.5b
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.5b
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))

rewrite43.0ms

Algorithm
rewrite-expression-head
Counts
4 → 111
Calls

4 calls. Slowest were:

20.0ms
(cbrt (* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))))
7.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
7.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))

series545.0ms

Counts
4 → 12
Calls

4 calls. Slowest were:

213.0ms
(cbrt (* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))))
128.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
102.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
101.0ms
(cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))

simplify14.6s

Counts
91 → 123
Calls

91 calls. Slowest were:

476.0ms
(cbrt (* (cbrt (- (* (+ (* c i) (* z t)) (+ (* c i) (* z t))) (* (+ (* a b) (* x y)) (+ (* a b) (* x y))))) (cbrt (+ (* (- (* (* c i) (* c i)) (* (* z t) (* z t))) (- (* a b) (* x y))) (* (- (* c i) (* z t)) (- (* (* a b) (* a b)) (* (* x y) (* x y))))))))
388.0ms
(cbrt (* (cbrt (+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (pow (* a b) 3) (pow (* x y) 3))))) (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))))
378.0ms
(cbrt (* (cbrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (cbrt (+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (pow (* a b) 3) (pow (* x y) 3)))))))

prune3.9s

Pruning

5 alts after pruning (2 fresh and 3 done)

Merged error: 0.0b

localize13.0ms

Local error

Found 4 expressions with local error:

0.2b
(* (sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))))
0.1b
(sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.1b
(sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
0.0b
(+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))

rewrite143.0ms

Algorithm
rewrite-expression-head
Counts
4 → 139
Calls

4 calls. Slowest were:

63.0ms
(* (sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))))
28.0ms
(sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
24.0ms
(sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))

series11.7s

Counts
4 → 12
Calls

4 calls. Slowest were:

5.8s
(sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
5.4s
(sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y))))
234.0ms
(* (sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))) (sqrt (+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))))
215.0ms
(+ (+ (* c i) (* z t)) (+ (* a b) (* x y)))

simplify22.0s

Counts
158 → 151
Calls

158 calls. Slowest were:

418.0ms
(* (sqrt (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (- (* a b) (* x y)))) (sqrt (* (- (* c i) (* z t)) (- (* a b) (* x y)))))
415.0ms
(* (sqrt (+ (* (- (* (* c i) (* c i)) (* (* z t) (* z t))) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (- (* c i) (* z t)) (+ (pow (* a b) 3) (pow (* x y) 3))))) (sqrt (+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (pow (* a b) 3) (pow (* x y) 3))))))
397.0ms
(* (sqrt (+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (- (* a b) (* x y))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (- (* (* a b) (* a b)) (* (* x y) (* x y)))))) (sqrt (+ (* (+ (pow (* c i) 3) (pow (* z t) 3)) (+ (* (* a b) (* a b)) (- (* (* x y) (* x y)) (* (* a b) (* x y))))) (* (+ (* (* c i) (* c i)) (- (* (* z t) (* z t)) (* (* c i) (* z t)))) (+ (pow (* a b) 3) (pow (* x y) 3))))))

prune3.7s

Pruning

5 alts after pruning (1 fresh and 4 done)

Merged error: 0.0b

regimes1.1s

Accuracy

0% (0.0b remaining)

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

bsearch3.0ms