Data.Histogram.Bin.BinF:$cfromIndex from histogram-fill-0.8.4.1

Time bar (total: 2.7s)

analyze0.0ms (0%)

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

Compiled 13 to 9 computations (30.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-div, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample1.2s (46%)

Results
939.0ms7211×256valid
171.0ms1044×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 321.0ms
Operation ival-div, time spent: 139.0ms, 43.0% of total-time
Operation ival-add, time spent: 94.0ms, 29.0% of total-time
Operation ival-mult, time spent: 74.0ms, 23.0% of total-time
Operation const, time spent: 15.0ms, 5.0% of total-time
Bogosity

preprocess317.0ms (11.8%)

Algorithm
egg-herbie
Rules
1010×fmm-def
531×fma-define
206×distribute-rgt-in
150×sub-neg
128×associate-+l-
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(*.f64 y x)
00-0-(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
00-0-(/.f64 x #s(literal 2 binary64))
00-0-z
00-0-(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
00-0-#s(literal 2 binary64)
00-0-y
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
040435
199371
2275371
3801323
41688297
52817292
63293292
73479292
83529292
93537292
103537276
114075276
124075276
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z))
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z))
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z)))
(+.f64 (+.f64 (/.f64 y #s(literal 2 binary64)) (*.f64 x y)) z)
(+.f64 (+.f64 (/.f64 z #s(literal 2 binary64)) (*.f64 y z)) x)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 z x)) y)
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 x y z))
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 x y z))
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z)
(+.f64 z (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 x (neg.f64 y))))
(-.f64 z (fma.f64 x y (/.f64 x #s(literal 2 binary64))))
(+.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (-.f64 #s(literal -1/2 binary64) y) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x (neg.f64 y)) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 y (neg.f64 x) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (-.f64 z (*.f64 x y)))
(-.f64 z (*.f64 x (+.f64 y #s(literal -1/2 binary64))))
(+.f64 z (*.f64 x (-.f64 #s(literal 1/2 binary64) y)))
(fma.f64 x (-.f64 #s(literal 1/2 binary64) y) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z))
(-.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x #s(literal 2 binary64))) z)
(-.f64 (*.f64 x (-.f64 y #s(literal -1/2 binary64))) z)
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z))
(-.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x #s(literal 2 binary64))) z)
(-.f64 (*.f64 x (-.f64 y #s(literal -1/2 binary64))) z)
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z))
(neg.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x (neg.f64 y)) z)))
(-.f64 (/.f64 x #s(literal -2 binary64)) (fma.f64 y (neg.f64 x) z))
(+.f64 (*.f64 x y) (-.f64 (*.f64 x #s(literal -1/2 binary64)) z))
(-.f64 (*.f64 x (+.f64 y #s(literal -1/2 binary64))) z)
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z)))
(+.f64 z (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 x (neg.f64 y))))
(-.f64 z (fma.f64 x y (/.f64 x #s(literal 2 binary64))))
(+.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (-.f64 #s(literal -1/2 binary64) y) z)
(+.f64 (+.f64 (/.f64 y #s(literal 2 binary64)) (*.f64 x y)) z)
(+.f64 z (+.f64 (*.f64 x y) (/.f64 y #s(literal 2 binary64))))
(+.f64 z (fma.f64 x y (/.f64 y #s(literal 2 binary64))))
(+.f64 z (fma.f64 x y (*.f64 y #s(literal 1/2 binary64))))
(+.f64 z (*.f64 y (+.f64 x #s(literal 1/2 binary64))))
(fma.f64 y (+.f64 x #s(literal 1/2 binary64)) z)
(+.f64 (+.f64 (/.f64 z #s(literal 2 binary64)) (*.f64 y z)) x)
(+.f64 x (+.f64 (/.f64 z #s(literal 2 binary64)) (*.f64 y z)))
(+.f64 x (fma.f64 y z (/.f64 z #s(literal 2 binary64))))
(+.f64 x (fma.f64 y z (*.f64 z #s(literal 1/2 binary64))))
(+.f64 x (*.f64 z (+.f64 #s(literal 1/2 binary64) y)))
(+.f64 x (*.f64 z (+.f64 y #s(literal 1/2 binary64))))
(fma.f64 z (+.f64 y #s(literal 1/2 binary64)) x)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 z x)) y)
(+.f64 y (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x z)))
(+.f64 y (fma.f64 x z (/.f64 x #s(literal 2 binary64))))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 x z y))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (fma.f64 x z y))
(+.f64 y (*.f64 x (+.f64 #s(literal 1/2 binary64) z)))
(+.f64 y (*.f64 x (+.f64 z #s(literal 1/2 binary64))))
(fma.f64 x (+.f64 z #s(literal 1/2 binary64)) y)
Compiler

Compiled 72 to 38 computations (47.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
Operation ival-div, time spent: 14.0ms, 46.0% of total-time
Operation ival-add, time spent: 10.0ms, 33.0% of total-time
Operation ival-mult, time spent: 4.0ms, 13.0% of total-time
Operation const, time spent: 2.0ms, 7.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 33 to 19 computations (42.4% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
100.0%
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
Compiler

Compiled 22 to 15 computations (31.8% saved)

localize72.0ms (2.7%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
Operation ival-div, time spent: 7.0ms, 32.0% of total-time
Operation ival-mult, time spent: 6.0ms, 28.0% of total-time
Operation ival-sub, time spent: 5.0ms, 23.0% of total-time
Operation ival-add, time spent: 3.0ms, 14.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

series4.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 x (-.f64 #s(literal -1/2 binary64) y))>
Outputs
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))>
#<alt (*.f64 #s(literal -1/2 binary64) x)>
#<alt (+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))>
#<alt (+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))>
#<alt (+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x y))>
#<alt (*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))>
#<alt (*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))>
#<alt (*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x y))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))>
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(* x (- -1/2 y))
1.0ms
x
@0
(* x (- -1/2 y))
1.0ms
x
@inf
(* x (- -1/2 y))
0.0ms
y
@0
(* x (- -1/2 y))
0.0ms
y
@-inf
(* x (- -1/2 y))

rewrite336.0ms (12.5%)

Algorithm
batch-egg-rewrite
Rules
482×log1p-expm1-u
482×expm1-log1p-u
458×add-exp-log
444×add-log-exp
412×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
110119
2126119
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
Outputs
(+.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(+.f64 (*.f64 x #s(literal -1/2 binary64)) (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (neg.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 1 binary64))
(/.f64 (*.f64 x (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 #s(literal -1/2 binary64) y) #s(literal 1/4 binary64)))
(/.f64 (*.f64 x (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64)))) (+.f64 #s(literal -1/2 binary64) y))
(/.f64 (*.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (+.f64 #s(literal -1/2 binary64) y) #s(literal 1/4 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64))) x) (+.f64 #s(literal -1/2 binary64) y))
(pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(exp.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 2 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 x (neg.f64 y)))
(fma.f64 #s(literal -1/2 binary64) x (*.f64 (neg.f64 y) x))

simplify75.0ms (2.8%)

Algorithm
egg-herbie
Rules
692×unsub-neg
282×*-commutative
263×neg-mul-1
255×associate-+r+
255×prod-exp
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01081434
12241434
25701266
323251266
449811266
Stop Event
node limit
Counts
53 → 45
Calls
Call 1
Inputs
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 #s(literal -1/2 binary64) x)
(+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))
(+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))
(*.f64 #s(literal -1 binary64) (*.f64 x y))
(*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))
(*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))
(*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))
(*.f64 #s(literal -1 binary64) (*.f64 x y))
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
(+.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(+.f64 (*.f64 x #s(literal -1/2 binary64)) (*.f64 x (neg.f64 y)))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (neg.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 1 binary64))
(/.f64 (*.f64 x (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 #s(literal -1/2 binary64) y) #s(literal 1/4 binary64)))
(/.f64 (*.f64 x (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64)))) (+.f64 #s(literal -1/2 binary64) y))
(/.f64 (*.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (+.f64 #s(literal -1/2 binary64) y) #s(literal 1/4 binary64)))
(/.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64))) x) (+.f64 #s(literal -1/2 binary64) y))
(pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 2 binary64)))
(log.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 3 binary64)))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(exp.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 2 binary64)))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 x (neg.f64 y)))
(fma.f64 #s(literal -1/2 binary64) x (*.f64 (neg.f64 y) x))
Outputs
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1/2 binary64) x)
(*.f64 x #s(literal -1/2 binary64))
(+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(+.f64 (*.f64 #s(literal -1 binary64) (*.f64 x y)) (*.f64 #s(literal -1/2 binary64) x))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x y))
(*.f64 (neg.f64 x) y)
(*.f64 x (neg.f64 y))
(*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 y (+.f64 (*.f64 #s(literal -1 binary64) x) (*.f64 #s(literal -1/2 binary64) (/.f64 x y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 x y))
(*.f64 (neg.f64 x) y)
(*.f64 x (neg.f64 y))
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 x (*.f64 #s(literal 1/2 binary64) (/.f64 x y)))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(+.f64 #s(literal 0 binary64) (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(+.f64 (*.f64 x #s(literal -1/2 binary64)) (*.f64 x (neg.f64 y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(+.f64 (*.f64 #s(literal -1/2 binary64) x) (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x)) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(/.f64 (*.f64 x (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 #s(literal -1/2 binary64) y) #s(literal 1/4 binary64)))
(*.f64 x (/.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (+.f64 y #s(literal -1/2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) (/.f64 x (fma.f64 y (+.f64 y #s(literal -1/2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (*.f64 x (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64)))) (+.f64 #s(literal -1/2 binary64) y))
(*.f64 x (/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64))) (+.f64 y #s(literal -1/2 binary64))))
(/.f64 (*.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (+.f64 #s(literal -1/2 binary64) y) #s(literal 1/4 binary64)))
(*.f64 x (/.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (+.f64 y #s(literal -1/2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (-.f64 #s(literal -1/8 binary64) (pow.f64 y #s(literal 3 binary64))) (/.f64 x (fma.f64 y (+.f64 y #s(literal -1/2 binary64)) #s(literal 1/4 binary64))))
(/.f64 (*.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64))) x) (+.f64 #s(literal -1/2 binary64) y))
(*.f64 x (/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 y #s(literal 2 binary64))) (+.f64 y #s(literal -1/2 binary64))))
(pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 3 binary64))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(pow.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 3 binary64)) #s(literal 1/3 binary64))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))) #s(literal 2 binary64))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(pow.f64 (E.f64) (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))) (sqrt.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))))
(sqrt.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 2 binary64)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(log.f64 (pow.f64 (exp.f64 (-.f64 #s(literal -1/2 binary64) y)) x))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)) #s(literal 3 binary64)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(expm1.f64 (log1p.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(log1p.f64 (expm1.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(exp.f64 (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y))))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 3 binary64)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(exp.f64 (*.f64 (*.f64 #s(literal 3 binary64) (log.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 1/3 binary64)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))) #s(literal 2 binary64)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(fma.f64 x #s(literal -1/2 binary64) (*.f64 x (neg.f64 y)))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))
(fma.f64 #s(literal -1/2 binary64) x (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 x) (+.f64 #s(literal 1/2 binary64) y))
(*.f64 (+.f64 #s(literal 1/2 binary64) y) (neg.f64 x))
(*.f64 x (-.f64 #s(literal -1/2 binary64) y))

eval14.0ms (0.5%)

Compiler

Compiled 506 to 334 computations (34% saved)

prune8.0ms (0.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New43245
Fresh000
Picked022
Done000
Total43447
Accuracy
100.0%
Counts
47 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.8%
(-.f64 z (*.f64 (neg.f64 x) y))
100.0%
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
60.1%
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
100.0%
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
Compiler

Compiled 39 to 27 computations (30.8% saved)

localize43.0ms (1.6%)

Compiler

Compiled 30 to 13 computations (56.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
Operation ival-mult, time spent: 6.0ms, 46.0% of total-time
Operation ival-sub, time spent: 4.0ms, 31.0% of total-time
Operation ival-neg, time spent: 3.0ms, 23.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune4.0ms (0.2%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done022
Total044
Accuracy
100.0%
Counts
4 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.8%
(-.f64 z (*.f64 (neg.f64 x) y))
100.0%
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
60.1%
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
100.0%
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
Compiler

Compiled 78 to 50 computations (35.9% saved)

regimes12.0ms (0.4%)

Counts
5 → 1
Calls
Call 1
Inputs
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
(-.f64 z (*.f64 (neg.f64 x) y))
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Calls

5 calls:

3.0ms
y
2.0ms
x
2.0ms
z
2.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
2.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
100.0%1(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Compiler

Compiled 34 to 24 computations (29.4% saved)

regimes5.0ms (0.2%)

Counts
3 → 1
Calls
Call 1
Inputs
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
(-.f64 z (*.f64 (neg.f64 x) y))
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
Outputs
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
Calls

3 calls:

2.0ms
x
2.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 12 to 9 computations (25% saved)

regimes9.0ms (0.3%)

Counts
2 → 3
Calls
Call 1
Inputs
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
(-.f64 z (*.f64 (neg.f64 x) y))
Outputs
(-.f64 z (*.f64 (neg.f64 x) y))
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
(-.f64 z (*.f64 (neg.f64 x) y))
Calls

3 calls:

3.0ms
y
3.0ms
z
2.0ms
x
Results
AccuracySegmentsBranch
80.8%3x
98.3%3y
79.7%3z
Compiler

Compiled 12 to 9 computations (25% saved)

regimes4.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
Outputs
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
Calls

3 calls:

2.0ms
x
1.0ms
y
1.0ms
z
Results
AccuracySegmentsBranch
60.1%1z
60.1%1x
60.1%1y
Compiler

Compiled 12 to 9 computations (25% saved)

bsearch37.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
0.014624873479263362
7.672387161358499
19.0ms
-5.567282645909579
-3.890238971348031e-5
Results
32.0ms271×256valid
0.0ms256valid
Compiler

Compiled 341 to 251 computations (26.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Operation ival-add, time spent: 3.0ms, 39.0% of total-time
Operation ival-div, time spent: 2.0ms, 26.0% of total-time
Operation ival-mult, time spent: 2.0ms, 26.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

simplify18.0ms (0.7%)

Algorithm
egg-herbie
Rules
50×unsub-neg
50×distribute-lft-neg-in
33×neg-mul-1
28×cancel-sign-sub
25×neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032156
166156
2101156
3157156
4239156
5314156
6354156
7378156
8392156
9396156
10400156
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(if (<=.f64 y #s(literal -1/2 binary64)) (-.f64 z (*.f64 (neg.f64 x) y)) (if (<=.f64 y #s(literal 1/2 binary64)) (-.f64 z (*.f64 x #s(literal -1/2 binary64))) (-.f64 z (*.f64 (neg.f64 x) y))))
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) z)
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(if (<=.f64 y #s(literal -1/2 binary64)) (-.f64 z (*.f64 (neg.f64 x) y)) (if (<=.f64 y #s(literal 1/2 binary64)) (-.f64 z (*.f64 x #s(literal -1/2 binary64))) (-.f64 z (*.f64 (neg.f64 x) y))))
(if (or (<=.f64 y #s(literal -1/2 binary64)) (not (<=.f64 y #s(literal 1/2 binary64)))) (+.f64 z (*.f64 x y)) (-.f64 z (*.f64 x #s(literal -1/2 binary64))))
(if (or (<=.f64 y #s(literal -1/2 binary64)) (not (<=.f64 y #s(literal 1/2 binary64)))) (+.f64 (*.f64 x y) z) (-.f64 z (*.f64 x #s(literal -1/2 binary64))))
(-.f64 z (*.f64 x #s(literal -1/2 binary64)))
Compiler

Compiled 52 to 36 computations (30.8% saved)

soundness405.0ms (15.2%)

Rules
1010×fmm-def
692×unsub-neg
531×fma-define
282×*-commutative
263×neg-mul-1
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
040435
199371
2275371
3801323
41688297
52817292
63293292
73479292
83529292
93537292
103537276
114075276
124075276
01081434
12241434
25701266
323251266
449811266
Stop Event
node limit
saturated
Compiler

Compiled 185 to 102 computations (44.9% saved)

end0.0ms (0%)

preprocess81.0ms (3%)

Compiler

Compiled 110 to 68 computations (38.2% saved)

Profiling

Loading profile data...