Details

Time bar (total: 38.7s)

sample154.0ms

Algorithm
intervals
Results
102.0ms96×body10240exit
25.0ms264×body80valid
4.0msbody640valid
4.0ms10×body320valid
3.0msbody1280valid
1.0msbody160valid

simplify31.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
31.0ms
(- (log (+ 1 (exp x))) (* x y))

prune15.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.5b

localize11.0ms

Local error

Found 2 expressions with local error:

0.5b
(log1p (exp x))
0.0b
(- (log1p (exp x)) (* y x))

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
add-log-exp
add-sqr-sqrt *-un-lft-identity add-cube-cbrt
expm1-log1p-u fma-neg prod-diff
pow1 log1p-udef add-cbrt-cube diff-log add-exp-log insert-posit16 log1p-expm1-u
sub-neg flip3-- log1p-expm1 flip--
Counts
2 → 34
Calls
2 calls:
Slowest
5.0ms
(- (log1p (exp x)) (* y x))
0.0ms
(log1p (exp x))

series114.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
58.0ms
(log1p (exp x))
56.0ms
(- (log1p (exp x)) (* y x))

simplify2.3s

Counts
44 → 40
Calls
44 calls:
Slowest
555.0ms
(- (* (log1p (exp x)) (log1p (exp x))) (* (* y x) (* y x)))
328.0ms
(- (pow (log1p (exp x)) 3) (pow (* y x) 3))
149.0ms
(* (* (- (log1p (exp x)) (* y x)) (- (log1p (exp x)) (* y x))) (- (log1p (exp x)) (* y x)))
140.0ms
(+ (* (log1p (exp x)) (log1p (exp x))) (+ (* (* y x) (* y x)) (* (log1p (exp x)) (* y x))))
110.0ms
(/ (exp (log1p (exp x))) (exp (* y x)))

prune424.0ms

Pruning

3 alts after pruning (2 fresh and 1 done)

Merged error: 0.4b

localize51.0ms

Local error

Found 4 expressions with local error:

11.0b
(/ (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))) (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x)))))
0.7b
(* (log1p (exp x)) (log1p (exp x)))
0.7b
(* (log1p (exp x)) (log1p (exp x)))
0.5b
(log1p (exp x))

rewrite247.0ms

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt
21×*-un-lft-identity add-cube-cbrt
18×pow1
12×times-frac
10×add-cbrt-cube add-exp-log
swap-sqr associate-*r* associate-*l*
expm1-log1p-u
difference-cubes cube-unmult pow3 insert-posit16 log1p-expm1-u associate-/l* add-log-exp
associate-/r*
pow2 pow-plus pow-prod-down prod-exp pow-sqr *-commutative pow-prod-up cbrt-unprod unswap-sqr associate-/l/
cbrt-undiv log1p-udef clear-num frac-2neg flip3-- div-sub div-exp log1p-expm1 div-inv flip--
Counts
4 → 105
Calls
4 calls:
Slowest
234.0ms
(/ (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))) (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x)))))
6.0ms
(* (log1p (exp x)) (log1p (exp x)))
6.0ms
(* (log1p (exp x)) (log1p (exp x)))
0.0ms
(log1p (exp x))

series536.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
236.0ms
(/ (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))) (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x)))))
114.0ms
(* (log1p (exp x)) (log1p (exp x)))
108.0ms
(* (log1p (exp x)) (log1p (exp x)))
78.0ms
(log1p (exp x))

simplify15.8s

Counts
134 → 117
Calls
134 calls:
Slowest
846.0ms
(/ (* (cbrt (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x)))) (cbrt (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))))) 1)
591.0ms
(* (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x)))) (+ (* (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x))))) (+ (* (* (* (* y x) (* y x)) (* y x)) (* (* (* y x) (* y x)) (* y x))) (* (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))))))
435.0ms
(* (cbrt (/ (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))) (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x)))))) (cbrt (/ (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))) (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x)))))))
427.0ms
(/ (sqrt (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x)))) 1)
400.0ms
(exp (/ (- (* (log1p (exp x)) (* (log1p (exp x)) (log1p (exp x)))) (* (* (* y x) (* y x)) (* y x))) (fma (* y x) (fma x y (log1p (exp x))) (* (log1p (exp x)) (log1p (exp x))))))

prune1.4s

Pruning

3 alts after pruning (1 fresh and 2 done)

Merged error: 0.4b

localize34.0ms

Local error

Found 2 expressions with local error:

0.0b
(- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))
0.0b
(fma (fma 1/8 x 1/2) x (log 2))

rewrite12.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt *-un-lft-identity add-cube-cbrt add-log-exp
fma-neg prod-diff
expm1-log1p-u pow1 add-cbrt-cube add-exp-log fma-udef insert-posit16 log1p-expm1-u
sub-neg flip3-- diff-log associate--l+ flip--
Counts
2 → 33
Calls
2 calls:
Slowest
10.0ms
(- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))
0.0ms
(fma (fma 1/8 x 1/2) x (log 2))

series105.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
73.0ms
(- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))
32.0ms
(fma (fma 1/8 x 1/2) x (log 2))

simplify4.8s

Counts
44 → 39
Calls
44 calls:
Slowest
539.0ms
(* (* (- (fma (fma 1/8 x 1/2) x (log 2)) (* y x)) (- (fma (fma 1/8 x 1/2) x (log 2)) (* y x))) (- (fma (fma 1/8 x 1/2) x (log 2)) (* y x)))
392.0ms
(+ (* (fma (fma 1/8 x 1/2) x (log 2)) (fma (fma 1/8 x 1/2) x (log 2))) (+ (* (* y x) (* y x)) (* (fma (fma 1/8 x 1/2) x (log 2)) (* y x))))
336.0ms
(- (* (fma (fma 1/8 x 1/2) x (log 2)) (fma (fma 1/8 x 1/2) x (log 2))) (* (* y x) (* y x)))
271.0ms
(exp (- (fma (fma 1/8 x 1/2) x (log 2)) (* y x)))
221.0ms
(- (+ (* 1/2 x) (* 1/8 (pow x 2))) (* x y))

prune451.0ms

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0.4b

localize39.0ms

Local error

Found 3 expressions with local error:

36.8b
(posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2))))
0.0b
(- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x))
0.0b
(fma (fma 1/8 x 1/2) x (log 2))

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt *-un-lft-identity add-cube-cbrt add-log-exp
expm1-log1p-u pow1 add-cbrt-cube fma-neg prod-diff add-exp-log insert-posit16 log1p-expm1-u
sub-neg flip3-- diff-log fma-udef remove-posit16 flip--
Counts
3 → 43
Calls
3 calls:
Slowest
5.0ms
(- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x))
0.0ms
(posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2))))
0.0ms
(fma (fma 1/8 x 1/2) x (log 2))

series173.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
83.0ms
(- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x))
52.0ms
(fma (fma 1/8 x 1/2) x (log 2))
39.0ms
(posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2))))

simplify6.4s

Counts
56 → 52
Calls
56 calls:
Slowest
406.0ms
(+ (* (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2))))) (+ (* (* y x) (* y x)) (* (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x))))
345.0ms
(* (* (- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x)) (- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x))) (- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x)))
281.0ms
(/ (exp (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2))))) (exp (* y x)))
277.0ms
(- (* (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2))))) (* (* y x) (* y x)))
254.0ms
(cbrt (- (posit16->real (real->posit16 (fma (fma 1/8 x 1/2) x (log 2)))) (* y x)))

prune977.0ms

Pruning

4 alts after pruning (2 fresh and 2 done)

Merged error: 0.4b

regimes94.0ms

Accuracy

0% (0.2b remaining)

Error of 0.4b against oracle of 0.2b and baseline of 0.4b

bsearch1.0ms

end0.0ms

sample4.5s

Algorithm
intervals
Results
2.8s2456×body10240exit
1.0s8388×body80valid
155.0ms259×body640valid
119.0ms219×body320valid
119.0ms124×body1280valid
21.0ms95×body160valid