Details

Time bar (total: 3.8s)

sample42.0ms

Algorithm
intervals
Results
25.0ms646×body80valid

simplify49.0ms

Counts
1 → 1
Iterations

Useful iterations: 2 (4.0ms)

IterNodesCost
0268
1518
2887
31537
43577
515727
650027
done50027

prune5.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.2b

localize10.0ms

Local error

Found 4 expressions with local error:

0.0b
(+ (* a a) (* b b))
0.0b
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0)
0.0b
(* 4.0 (* b b))
0.3b
(pow (+ (* a a) (* b b)) 2.0)

rewrite369.0ms

Algorithm
rewrite-expression-head
Rules
17×add-sqr-sqrt
16×*-un-lft-identity
14×add-cube-cbrt
11×add-log-exp
10×pow1 add-exp-log
prod-diff add-cbrt-cube
expm1-log1p-u log1p-expm1-u
unpow-prod-down pow-unpow fma-neg associate-*l* pow-prod-down prod-exp cbrt-unprod
diff-log sum-log
+-commutative pow-to-exp sub-neg flip3-- pow-pow fma-def flip3-+ associate-*r* pow-exp associate--l+ *-commutative flip-- flip-+ distribute-lft-out-- difference-of-squares unswap-sqr sqr-pow
Counts
4 → 84
Calls
4 calls:
8.0ms
(+ (* a a) (* b b))
334.0ms
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0)
15.0ms
(* 4.0 (* b b))
10.0ms
(pow (+ (* a a) (* b b)) 2.0)

series233.0ms

Counts
4 → 12
Calls
4 calls:
30.0ms
(+ (* a a) (* b b))
72.0ms
(- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0)
27.0ms
(* 4.0 (* b b))
104.0ms
(pow (+ (* a a) (* b b)) 2.0)

simplify46.0ms

Counts
96 → 96
Iterations

Useful iterations: 2 (39.0ms)

IterNodesCost
0404753
11693603
25001587
done5001587

prune208.0ms

Pruning

5 alts after pruning (4 fresh and 1 done)

Merged error: 0.0b

localize7.0ms

Local error

Found 1 expressions with local error:

0.0b
(- (fma (* 4.0 b) b (pow a 4)) 1.0)

rewrite7.0ms

Algorithm
rewrite-expression-head
Rules
10×add-sqr-sqrt *-un-lft-identity
prod-diff
add-cube-cbrt
fma-neg add-log-exp
pow1 add-exp-log expm1-log1p-u sub-neg flip3-- diff-log associate--l+ add-cbrt-cube flip-- fma-udef log1p-expm1-u distribute-lft-out-- difference-of-squares
Counts
1 → 29
Calls
1 calls:
7.0ms
(- (fma (* 4.0 b) b (pow a 4)) 1.0)

series78.0ms

Counts
1 → 3
Calls
1 calls:
78.0ms
(- (fma (* 4.0 b) b (pow a 4)) 1.0)

simplify95.0ms

Counts
32 → 32
Iterations

Useful iterations: 3 (92.0ms)

IterNodesCost
0142294
1438208
22731197
35001163
done5001163

prune61.0ms

Pruning

5 alts after pruning (3 fresh and 2 done)

Merged error: 0.0b

localize16.0ms

Local error

Found 4 expressions with local error:

0.0b
(* 2.0 (pow a 2))
0.0b
(+ (fma (* 2.0 (pow a 2)) (pow b 2) (pow b 4)) (* 4.0 (* b b)))
0.0b
(* 4.0 (* b b))
0.6b
(fma (* 2.0 (pow a 2)) (pow b 2) (pow b 4))

rewrite36.0ms

Algorithm
rewrite-expression-head
Rules
16×add-sqr-sqrt
14×add-exp-log
11×add-cbrt-cube
pow1 add-cube-cbrt *-un-lft-identity associate-*r*
associate-*l* prod-exp add-log-exp
unswap-sqr
expm1-log1p-u unpow-prod-down cbrt-unprod log1p-expm1-u
fma-def pow-prod-down
*-commutative fma-udef unpow2 sqr-pow
+-commutative pow-to-exp associate-+l+ flip3-+ pow-exp sum-log flip-+
Counts
4 → 77
Calls
4 calls:
11.0ms
(* 2.0 (pow a 2))
7.0ms
(+ (fma (* 2.0 (pow a 2)) (pow b 2) (pow b 4)) (* 4.0 (* b b)))
16.0ms
(* 4.0 (* b b))
0.0ms
(fma (* 2.0 (pow a 2)) (pow b 2) (pow b 4))

series188.0ms

Counts
4 → 12
Calls
4 calls:
26.0ms
(* 2.0 (pow a 2))
65.0ms
(+ (fma (* 2.0 (pow a 2)) (pow b 2) (pow b 4)) (* 4.0 (* b b)))
24.0ms
(* 4.0 (* b b))
73.0ms
(fma (* 2.0 (pow a 2)) (pow b 2) (pow b 4))

simplify38.0ms

Counts
89 → 89
Iterations

Useful iterations: 2 (32.0ms)

IterNodesCost
0291467
11199418
25002407
done5002407

prune238.0ms

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.0b
(- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0)
0.1b
(pow (- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0) 3)
0.3b
(pow (+ (* a a) (* b b)) 2.0)
14.7b
(cbrt (pow (- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0) 3))

rewrite37.0ms

Algorithm
rewrite-expression-head
Rules
29×add-sqr-sqrt *-un-lft-identity
19×add-cube-cbrt
16×cbrt-prod
13×unpow-prod-down
10×cube-prod
prod-diff
pow1 add-exp-log pow-unpow add-log-exp
add-cbrt-cube distribute-lft-out-- difference-of-squares
cube-div expm1-log1p-u log1p-expm1-u
flip3-- fma-neg flip-- sqr-pow
cube-mult pow-to-exp cbrt-div pow-pow unpow3 pow-exp
sub-neg pow1/3 diff-log associate--l+ rem-cbrt-cube fma-udef rem-cube-cbrt
Counts
4 → 108
Calls
4 calls:
6.0ms
(- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0)
11.0ms
(pow (- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0) 3)
9.0ms
(pow (+ (* a a) (* b b)) 2.0)
8.0ms
(cbrt (pow (- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0) 3))

series358.0ms

Counts
4 → 12
Calls
4 calls:
87.0ms
(- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0)
104.0ms
(pow (- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0) 3)
101.0ms
(pow (+ (* a a) (* b b)) 2.0)
65.0ms
(cbrt (pow (- (fma (* 4.0 b) b (pow (+ (* a a) (* b b)) 2.0)) 1.0) 3))

simplify52.0ms

Counts
120 → 120
Iterations

Useful iterations: 2 (39.0ms)

IterNodesCost
04141359
116561215
250021203
done50021203

prune303.0ms

Pruning

4 alts after pruning (1 fresh and 3 done)

Merged error: 0.0b

regimes94.0ms

Accuracy

86.7% (1.5b remaining)

Error of 1.5b against oracle of 0.1b and baseline of 11.3b

bsearch1.0ms

simplify1.0ms

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02814
12814
done2814

end0.0ms

sample1.2s

Algorithm
intervals
Results
747.0ms20589×body80valid