Hyperbolic sine

Time bar (total: 2.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 10 to 8 computations (20% saved)

sample1.4s (59.1%)

Results
607.0ms2016×body1024valid
377.0ms4082×body256infinite
249.0ms1019×body512valid
92.0ms927×body256valid
67.0ms212×body2048valid
Bogosity

preprocess146.0ms (6.1%)

Algorithm
egg-herbie
Rules
715×associate-*r*
584×associate-/r*
423×distribute-lft-in
360×associate-/l*
352×distribute-rgt-in
Problems
132×No Errors
124×(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01693
13793
27393
313893
432987
5124687
6607687
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) 2)
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(fma.f64 1/2 (exp.f64 x) (/.f64 -1/2 (exp.f64 x)))
(fma.f64 (exp.f64 x) 1/2 (/.f64 -1/2 (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(fma.f64 1/2 (exp.f64 x) (/.f64 -1/2 (exp.f64 x)))
(fma.f64 (exp.f64 x) 1/2 (/.f64 -1/2 (exp.f64 x)))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) 2)
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) 2)
(fma.f64 -1/2 (exp.f64 x) (/.f64 1/2 (exp.f64 x)))
(fma.f64 (exp.f64 x) -1/2 (/.f64 1/2 (exp.f64 x)))
Compiler

Compiled 34 to 16 computations (52.9% saved)

eval1.0ms (0%)

Compiler

Compiled 17 to 10 computations (41.2% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Compiler

Compiled 18 to 14 computations (22.2% saved)

localize50.0ms (2.1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
55.1%
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 25 to 9 computations (64% saved)

series1.0ms (0%)

Counts
1 → 8
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
0.0ms
x
@-inf
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
0.0ms
x
@inf
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

rewrite162.0ms (6.8%)

Algorithm
batch-egg-rewrite
Rules
48×*-un-lft-identity
46×add-cbrt-cube
43×associate-*r*
42×add-cube-cbrt
41×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
111814
2171114
Stop Event
unsound
Counts
1 → 8
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
-2
0
1/2
3/2
2
4
6
8

simplify91.0ms (3.8%)

Algorithm
egg-herbie
Rules
770×distribute-rgt-in
751×distribute-lft-in
645×fma-def
455×associate-*r/
384×unswap-sqr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035250
170250
2144250
3319250
4635250
51326250
62042250
73176250
86214250
Stop Event
node limit
Counts
16 → 25
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
-2
0
1/2
3/2
2
4
6
8
Outputs
(*.f64 2 x)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))
(fma.f64 1/3 (pow.f64 x 3) (*.f64 2 x))
(fma.f64 2 x (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))
(fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/3 (pow.f64 x 3) (*.f64 2 x)))
(fma.f64 1/60 (pow.f64 x 5) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))
(fma.f64 2 x (fma.f64 1/3 (pow.f64 x 3) (*.f64 1/60 (pow.f64 x 5))))
(fma.f64 1/3 (pow.f64 x 3) (fma.f64 1/60 (pow.f64 x 5) (*.f64 2 x)))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))))
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/3 (pow.f64 x 3) (*.f64 2 x))))
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 1/60 (pow.f64 x 5) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3)))))
(fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3)))))
(fma.f64 1/3 (pow.f64 x 3) (fma.f64 2 x (fma.f64 1/60 (pow.f64 x 5) (*.f64 1/2520 (pow.f64 x 7)))))
(fma.f64 2 x (fma.f64 1/3 (pow.f64 x 3) (fma.f64 1/60 (pow.f64 x 5) (*.f64 1/2520 (pow.f64 x 7)))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
-2
0
1/2
3/2
2
4
6
8

eval7.0ms (0.3%)

Compiler

Compiled 278 to 227 computations (18.3% saved)

prune13.0ms (0.5%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New19625
Fresh000
Picked011
Done000
Total19726
Accuracy
100.0%
Counts
26 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
84.5%
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
51.2%
(/.f64 (*.f64 2 x) 2)
2.9%
(/.f64 8 2)
3.0%
(/.f64 1/2 2)
3.3%
(/.f64 0 2)
2.7%
(/.f64 -2 2)
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
84.5%
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
51.2%
(/.f64 (*.f64 2 x) 2)
2.9%
(/.f64 8 2)
3.0%
(/.f64 1/2 2)
3.3%
(/.f64 0 2)
2.7%
(/.f64 -2 2)
Compiler

Compiled 154 to 138 computations (10.4% saved)

localize157.0ms (6.6%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
99.5%
(*.f64 1/3 (pow.f64 x 3))
Compiler

Compiled 57 to 49 computations (14% saved)

series1.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 1/3 (pow.f64 x 3))
0.0ms
x
@inf
(*.f64 1/3 (pow.f64 x 3))
0.0ms
x
@-inf
(*.f64 1/3 (pow.f64 x 3))

rewrite59.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
686×associate-*r*
500×associate-*l*
218×pow1
206×add-exp-log
200×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
17516
274016
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(*.f64 1/3 (pow.f64 x 3))
Outputs
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) -1)
(+.f64 0 (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 1/6)) (log.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 1/6)))
(-.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 1)
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1)) 1) (+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 1))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1)) (+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1))))
(pow.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(pow.f64 (pow.f64 (*.f64 x (cbrt.f64 1/3)) 3/2) 2)
(pow.f64 (*.f64 x (cbrt.f64 1/3)) 3)
(pow.f64 (*.f64 (pow.f64 x 6) 1/9) 1/2)
(pow.f64 (*.f64 (pow.f64 x 9) 1/27) 1/3)
(pow.f64 (E.f64) (fma.f64 3 (log.f64 x) (log.f64 1/3)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)) 2))) (cbrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)))) (sqrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3))))
(sqrt.f64 (*.f64 (pow.f64 x 6) 1/9))
(fabs.f64 (*.f64 1/3 (pow.f64 x 3)))
(log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))
(cbrt.f64 (*.f64 (pow.f64 x 9) 1/27))
(expm1.f64 (log1p.f64 (*.f64 1/3 (pow.f64 x 3))))
(exp.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (cbrt.f64 1/3)) 3/2)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 1/3))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 9) 1/27)) 1/3))
(log1p.f64 (expm1.f64 (*.f64 1/3 (pow.f64 x 3))))

simplify50.0ms (2.1%)

Algorithm
egg-herbie
Rules
673×distribute-lft-out
504×distribute-rgt-out
477×associate-/r*
330×associate--l+
271×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
088669
1212626
2598613
32963611
Stop Event
node limit
Counts
25 → 35
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) -1)
(+.f64 0 (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 1/6)) (log.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 1/6)))
(-.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 1)
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1)) 1) (+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 1))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1)) (+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1))))
(pow.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(pow.f64 (pow.f64 (*.f64 x (cbrt.f64 1/3)) 3/2) 2)
(pow.f64 (*.f64 x (cbrt.f64 1/3)) 3)
(pow.f64 (*.f64 (pow.f64 x 6) 1/9) 1/2)
(pow.f64 (*.f64 (pow.f64 x 9) 1/27) 1/3)
(pow.f64 (E.f64) (fma.f64 3 (log.f64 x) (log.f64 1/3)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)) 2))) (cbrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)))) (sqrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3))))
(sqrt.f64 (*.f64 (pow.f64 x 6) 1/9))
(fabs.f64 (*.f64 1/3 (pow.f64 x 3)))
(log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))
(cbrt.f64 (*.f64 (pow.f64 x 9) 1/27))
(expm1.f64 (log1p.f64 (*.f64 1/3 (pow.f64 x 3))))
(exp.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (cbrt.f64 1/3)) 3/2)) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 1/3))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 9) 1/27)) 1/3))
(log1p.f64 (expm1.f64 (*.f64 1/3 (pow.f64 x 3))))
Outputs
(+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) -1)
(*.f64 1/3 (pow.f64 x 3))
(+.f64 0 (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))) 2)) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))) (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))))
(*.f64 3 (log.f64 (cbrt.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))))
(+.f64 (log.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 1/6)) (log.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 1/6)))
(*.f64 1/3 (pow.f64 x 3))
(-.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 1)
(*.f64 1/3 (pow.f64 x 3))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1)) 1) (+.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 1))
(/.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 2) (*.f64 1/3 (pow.f64 x 3))) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 2))
(/.f64 (*.f64 (*.f64 1/3 (pow.f64 x 3)) (fma.f64 1/3 (pow.f64 x 3) 2)) (fma.f64 1/3 (pow.f64 x 3) 2))
(*.f64 (/.f64 (fma.f64 1/3 (pow.f64 x 3) 2) (fma.f64 1/3 (pow.f64 x 3) 2)) (*.f64 1/3 (pow.f64 x 3)))
(/.f64 (+.f64 (*.f64 (pow.f64 x 6) 1/9) (*.f64 (pow.f64 x 3) 2/3)) (fma.f64 1/3 (pow.f64 x 3) 2))
(/.f64 (-.f64 (pow.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) 3) 1) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1)) (+.f64 1 (+.f64 (*.f64 1/3 (pow.f64 x 3)) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 1/3 (pow.f64 x 3) 1) 3) -1) (fma.f64 (fma.f64 1/3 (pow.f64 x 3) 1) (fma.f64 1/3 (pow.f64 x 3) 1) (+.f64 (*.f64 1/3 (pow.f64 x 3)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 1/3 (pow.f64 x 3) 1) 3)) (fma.f64 (fma.f64 1/3 (pow.f64 x 3) 1) (fma.f64 1/3 (pow.f64 x 3) 1) (fma.f64 1/3 (pow.f64 x 3) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 1/3 (pow.f64 x 3) 1) 3)) (+.f64 1 (*.f64 (fma.f64 1/3 (pow.f64 x 3) 1) (fma.f64 1/3 (pow.f64 x 3) 2))))
(pow.f64 (*.f64 1/3 (pow.f64 x 3)) 1)
(*.f64 1/3 (pow.f64 x 3))
(pow.f64 (pow.f64 (*.f64 x (cbrt.f64 1/3)) 3/2) 2)
(*.f64 1/3 (pow.f64 x 3))
(pow.f64 (*.f64 x (cbrt.f64 1/3)) 3)
(*.f64 1/3 (pow.f64 x 3))
(pow.f64 (*.f64 (pow.f64 x 6) 1/9) 1/2)
(sqrt.f64 (*.f64 (pow.f64 x 6) 1/9))
(pow.f64 (*.f64 (pow.f64 x 9) 1/27) 1/3)
(cbrt.f64 (*.f64 (pow.f64 x 9) 1/27))
(pow.f64 (E.f64) (fma.f64 3 (log.f64 x) (log.f64 1/3)))
(pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)) 2))) (cbrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)))) (sqrt.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3))))
(*.f64 1/3 (pow.f64 x 3))
(sqrt.f64 (*.f64 (pow.f64 x 6) 1/9))
(fabs.f64 (*.f64 1/3 (pow.f64 x 3)))
(*.f64 1/3 (pow.f64 x 3))
(log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))
(cbrt.f64 (*.f64 (pow.f64 x 9) 1/27))
(expm1.f64 (log1p.f64 (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/3 (pow.f64 x 3))
(exp.f64 (fma.f64 3 (log.f64 x) (log.f64 1/3)))
(*.f64 1/3 (pow.f64 x 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (cbrt.f64 1/3)) 3/2)) 2))
(*.f64 1/3 (pow.f64 x 3))
(exp.f64 (*.f64 (log.f64 (*.f64 x (cbrt.f64 1/3))) 3))
(*.f64 1/3 (pow.f64 x 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 9) 1/27)) 1/3))
(cbrt.f64 (*.f64 (pow.f64 x 9) 1/27))
(log1p.f64 (expm1.f64 (*.f64 1/3 (pow.f64 x 3))))
(*.f64 1/3 (pow.f64 x 3))

eval21.0ms (0.9%)

Compiler

Compiled 676 to 575 computations (14.9% saved)

prune9.0ms (0.4%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New35035
Fresh011
Picked055
Done011
Total35742
Accuracy
100.0%
Counts
42 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
84.5%
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
51.2%
(/.f64 (*.f64 2 x) 2)
2.9%
(/.f64 8 2)
3.0%
(/.f64 1/2 2)
3.3%
(/.f64 0 2)
2.7%
(/.f64 -2 2)
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
84.5%
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
51.2%
(/.f64 (*.f64 2 x) 2)
2.9%
(/.f64 8 2)
3.0%
(/.f64 1/2 2)
3.3%
(/.f64 0 2)
2.7%
(/.f64 -2 2)
Compiler

Compiled 86 to 76 computations (11.6% saved)

localize21.0ms (0.9%)

Compiler

Compiled 12 to 9 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune4.0ms (0.2%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done066
Total077
Accuracy
100.0%
Counts
7 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
84.5%
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
51.2%
(/.f64 (*.f64 2 x) 2)
2.9%
(/.f64 8 2)
3.0%
(/.f64 1/2 2)
3.3%
(/.f64 0 2)
2.7%
(/.f64 -2 2)
Compiler

Compiled 80 to 70 computations (12.5% saved)

regimes28.0ms (1.2%)

Counts
7 → 3
Calls
Call 1
Inputs
(/.f64 -2 2)
(/.f64 0 2)
(/.f64 1/2 2)
(/.f64 8 2)
(/.f64 (*.f64 2 x) 2)
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Calls

3 calls:

16.0ms
x
6.0ms
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
5.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
Results
AccuracySegmentsBranch
100.0%3x
100.0%3(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)
100.0%3(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes7.0ms (0.3%)

Counts
6 → 1
Calls
Call 1
Inputs
(/.f64 -2 2)
(/.f64 0 2)
(/.f64 1/2 2)
(/.f64 8 2)
(/.f64 (*.f64 2 x) 2)
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
Outputs
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
Calls

1 calls:

5.0ms
x
Results
AccuracySegmentsBranch
84.5%1x
Compiler

Compiled 31 to 27 computations (12.9% saved)

regimes6.0ms (0.2%)

Counts
5 → 1
Calls
Call 1
Inputs
(/.f64 -2 2)
(/.f64 0 2)
(/.f64 1/2 2)
(/.f64 8 2)
(/.f64 (*.f64 2 x) 2)
Outputs
(/.f64 (*.f64 2 x) 2)
Calls

1 calls:

5.0ms
x
Results
AccuracySegmentsBranch
51.2%1x
Compiler

Compiled 20 to 18 computations (10% saved)

regimes8.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
(/.f64 -2 2)
(/.f64 0 2)
(/.f64 1/2 2)
(/.f64 8 2)
Outputs
(/.f64 0 2)
Calls

1 calls:

7.0ms
x
Results
AccuracySegmentsBranch
3.3%1x
Compiler

Compiled 15 to 14 computations (6.7% saved)

regimes3.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 -2 2)
Outputs
(/.f64 -2 2)
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
2.7%1x
Compiler

Compiled 6 to 5 computations (16.7% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.412848325114794e-8
+inf
0.0ms
-5.375973569521501e+109
-1.0631163727126136e-9
Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
sub-neg
neg-mul-1
if-if-or-not
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034196
146196
251196
354196
455196
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -50000000000000001178468375708512791662476639752844093156495626963414083423308086629915468079622475513115705344) (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) (if (<=.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 944473296573929/9444732965739290427392) (/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2) (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)))
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
(/.f64 (*.f64 2 x) 2)
(/.f64 0 2)
(/.f64 -2 2)
Outputs
(if (<=.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -50000000000000001178468375708512791662476639752844093156495626963414083423308086629915468079622475513115705344) (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) (if (<=.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 944473296573929/9444732965739290427392) (/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2) (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2)))
(if (or (<=.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) -50000000000000001178468375708512791662476639752844093156495626963414083423308086629915468079622475513115705344) (not (<=.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 944473296573929/9444732965739290427392))) (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 2) (/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 x 2)) 2))
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)) 2)
(/.f64 (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 x 2)) 2)
(/.f64 (*.f64 2 x) 2)
(/.f64 (*.f64 x 2) 2)
(/.f64 0 2)
0
(/.f64 -2 2)
-1
Compiler

Compiled 61 to 42 computations (31.1% saved)

soundness63.0ms (2.7%)

Rules
48×*-un-lft-identity
48×*-un-lft-identity
46×add-cbrt-cube
46×add-cbrt-cube
43×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
111814
2171114
01014
111814
2171114
Stop Event
unsound
unsound

end0.0ms (0%)

preprocess58.0ms (2.5%)

Compiler

Compiled 132 to 90 computations (31.8% saved)

Profiling

Loading profile data...