Data.Random.Distribution.T:$ccdf from random-fu-0.2.6.2

Time bar (total: 2.6s)

analyze14.0ms (0.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 10 to 6 computations (40% saved)

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

sample1.1s (43.3%)

Results
914.0ms7171×256valid
114.0ms1084×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 373.0ms
Operation ival-div, time spent: 226.0ms, 61.0% of total-time
Operation ival-add, time spent: 137.0ms, 37.0% of total-time
Operation const, time spent: 9.0ms, 2.0% of total-time
Bogosity

preprocess303.0ms (11.7%)

Algorithm
egg-herbie
Rules
1962×fma-neg
1002×times-frac
972×div-sub
948×distribute-lft-in
888×distribute-rgt-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-0-(/.f64 (+.f64 x y) (+.f64 y y))
00-0-x
00-0-(+.f64 x y)
00-0-y
00-0-(+.f64 y y)
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
023220
150196
2119196
3340184
41369162
53017151
64389151
75089147
85561147
95865147
106107147
116577147
126783147
136787147
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y))
(/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y)))
(neg.f64 (/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y)))
(neg.f64 (/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y))))
(/.f64 (+.f64 y x) (+.f64 x x))
Outputs
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 x y) (*.f64 2 y))
(/.f64 (+.f64 x y) (*.f64 y 2))
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
(fma.f64 x (/.f64 1/2 y) 1/2)
(/.f64 (+.f64 x y) (+.f64 y y))
(/.f64 (+.f64 x y) (*.f64 2 y))
(/.f64 (+.f64 x y) (*.f64 y 2))
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
(fma.f64 x (/.f64 1/2 y) 1/2)
(/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 y))
(/.f64 (-.f64 y x) (*.f64 y 2))
(*.f64 -1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 -1/2 (/.f64 x y)) 1/2)
(fma.f64 x (/.f64 -1/2 y) 1/2)
(/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y)))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 y))
(/.f64 (-.f64 y x) (*.f64 y 2))
(*.f64 -1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 -1/2 (/.f64 x y)) 1/2)
(fma.f64 x (/.f64 -1/2 y) 1/2)
(neg.f64 (/.f64 (+.f64 (neg.f64 x) y) (+.f64 y y)))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 (neg.f64 y)))
(/.f64 (-.f64 y x) (*.f64 y -2))
(*.f64 1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 1/2 (/.f64 x y)) -1/2)
(fma.f64 x (/.f64 1/2 y) -1/2)
(neg.f64 (/.f64 (+.f64 x (neg.f64 y)) (+.f64 (neg.f64 y) (neg.f64 y))))
(/.f64 (+.f64 y (neg.f64 x)) (*.f64 2 (neg.f64 y)))
(/.f64 (-.f64 y x) (*.f64 y -2))
(*.f64 1/2 (/.f64 (-.f64 x y) y))
(+.f64 (*.f64 1/2 (/.f64 x y)) -1/2)
(fma.f64 x (/.f64 1/2 y) -1/2)
(/.f64 (+.f64 y x) (+.f64 x x))
(/.f64 (+.f64 x y) (*.f64 2 x))
(/.f64 (+.f64 x y) (*.f64 x 2))
(*.f64 1/2 (/.f64 (+.f64 x y) x))
(-.f64 1/2 (/.f64 (*.f64 y -1/2) x))
(fma.f64 y (/.f64 1/2 x) 1/2)
Compiler

Compiled 45 to 17 computations (62.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
Operation ival-add, time spent: 7.0ms, 56.0% of total-time
Operation ival-div, time spent: 4.0ms, 32.0% of total-time
Operation const, time spent: 1.0ms, 8.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 29 to 18 computations (37.9% saved)

prune2.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(/.f64 (+.f64 x y) (+.f64 y y))
99.8%
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize63.0ms (2.4%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.6%
(/.f64 (+.f64 x y) (+.f64 y y))
99.6%
(*.f64 x (/.f64 1/2 y))
Compiler

Compiled 37 to 18 computations (51.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
Operation ival-div, time spent: 9.0ms, 39.0% of total-time
Operation ival-add, time spent: 6.0ms, 26.0% of total-time
Operation ival-mult, time spent: 5.0ms, 22.0% of total-time
Operation ival-sub, time spent: 1.0ms, 4.0% of total-time
Operation const, time spent: 1.0ms, 4.0% of total-time

series10.0ms (0.4%)

Counts
2 → 48
Calls
Call 1
Inputs
#<alt (*.f64 x (/.f64 1/2 y))>
#<alt (/.f64 (+.f64 x y) (+.f64 y y))>
Outputs
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt 1/2>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))>
#<alt (*.f64 1/2 (/.f64 x y))>
#<alt (/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)>
#<alt (/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)>
#<alt (/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)>
#<alt 1/2>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt 1/2>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
#<alt (+.f64 1/2 (*.f64 1/2 (/.f64 x y)))>
Calls

12 calls:

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

rewrite223.0ms (8.6%)

Algorithm
batch-egg-rewrite
Rules
1326×prod-diff
809×log1p-expm1-u
809×expm1-log1p-u
796×log-prod
432×fma-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01347
117941
2292541
Stop Event
node limit
Counts
2 → 67
Calls
Call 1
Inputs
(*.f64 x (/.f64 1/2 y))
(/.f64 (+.f64 x y) (+.f64 y y))
Outputs
(+.f64 0 (*.f64 x (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (/.f64 0 0)))) 1)
(/.f64 x (/.f64 0 0))
(/.f64 1 (/.f64 y (*.f64 x 1/2)))
(/.f64 (*.f64 x 1/2) y)
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 y))
(/.f64 (*.f64 x -1/2) (neg.f64 y))
(/.f64 (*.f64 -1/2 x) (neg.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) 1) y)
(/.f64 (/.f64 (*.f64 x 1/2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) (sqrt.f64 y)) (sqrt.f64 y))
(pow.f64 (*.f64 x (/.f64 0 0)) 1)
(pow.f64 (*.f64 (/.f64 0 0) (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (/.f64 0 0) (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (/.f64 0 0)))))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (/.f64 0 0)))
(cbrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (/.f64 0 0))) 1))
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))) 1)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 x y) (/.f64 0 0))
(*.f64 (/.f64 0 0) (+.f64 x y))
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (/.f64 (/.f64 0 0) (+.f64 x y)) -1)
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))))
(log.f64 (/.f64 1 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))) 1))

simplify23.0ms (0.9%)

Algorithm
egg-herbie
Rules
58×*-commutative
26×associate-*l/
26×associate-*r/
20×+-commutative
14×cube-mult
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01782175
14582175
Stop Event
unsound
Counts
115 → 93
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 1/2 (/.f64 x y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 0 (*.f64 x (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (/.f64 0 0)))) 1)
(/.f64 x (/.f64 0 0))
(/.f64 1 (/.f64 y (*.f64 x 1/2)))
(/.f64 (*.f64 x 1/2) y)
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 y))
(/.f64 (*.f64 x -1/2) (neg.f64 y))
(/.f64 (*.f64 -1/2 x) (neg.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) 1) y)
(/.f64 (/.f64 (*.f64 x 1/2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(/.f64 (/.f64 (*.f64 x 1/2) (sqrt.f64 y)) (sqrt.f64 y))
(pow.f64 (*.f64 x (/.f64 0 0)) 1)
(pow.f64 (*.f64 (/.f64 0 0) (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (/.f64 0 0) (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (/.f64 0 0)))))
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (/.f64 0 0)))
(cbrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 x (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (/.f64 0 0))) 1))
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 0 0)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))) 1)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 x y) (/.f64 0 0))
(*.f64 (/.f64 0 0) (+.f64 x y))
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (/.f64 (/.f64 0 0) (+.f64 x y)) -1)
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))))
(log.f64 (/.f64 1 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))) 1))
Outputs
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
(*.f64 1/2 (/.f64 x y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 1/2 (/.f64 x y))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 x (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/2 (/.f64 1 y))))
(*.f64 x (+.f64 (/.f64 1/2 x) (/.f64 1/2 y)))
(*.f64 1/2 (/.f64 x y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(/.f64 (+.f64 (*.f64 1/2 x) (*.f64 1/2 y)) y)
(*.f64 1/2 (/.f64 (+.f64 x y) y))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
1/2
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 1/2 (*.f64 1/2 (/.f64 x y)))
(+.f64 0 (*.f64 x (/.f64 0 0)))
(*.f64 x -1)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)) (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 -1 x)) (cbrt.f64 (pow.f64 -1 x)))) (log.f64 (cbrt.f64 (pow.f64 -1 x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 -1 x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (/.f64 0 0)))) 1)
(*.f64 x -1)
(/.f64 x (/.f64 0 0))
(/.f64 x -1)
(/.f64 1 (/.f64 y (*.f64 x 1/2)))
(*.f64 (/.f64 -1 y) (*.f64 1/2 x))
(/.f64 (*.f64 x 1/2) y)
(*.f64 1/2 (/.f64 x y))
(/.f64 (neg.f64 (*.f64 x 1/2)) (neg.f64 y))
(*.f64 x (/.f64 -1/2 (neg.f64 y)))
(/.f64 (*.f64 x -1/2) (neg.f64 y))
(*.f64 x (/.f64 -1/2 (neg.f64 y)))
(/.f64 (*.f64 -1/2 x) (neg.f64 y))
(*.f64 x (/.f64 -1/2 (neg.f64 y)))
(/.f64 (/.f64 (*.f64 x 1/2) 1) y)
(*.f64 1/2 (/.f64 x y))
(/.f64 (/.f64 (*.f64 x 1/2) (pow.f64 (cbrt.f64 y) 2)) (cbrt.f64 y))
(/.f64 (*.f64 1/2 x) (*.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2)))
(/.f64 (/.f64 (*.f64 x 1/2) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (*.f64 1/2 x) (*.f64 (sqrt.f64 y) (sqrt.f64 y)))
(pow.f64 (*.f64 x (/.f64 0 0)) 1)
(*.f64 x -1)
(pow.f64 (*.f64 (/.f64 0 0) (cbrt.f64 x)) 3)
(*.f64 -1 (pow.f64 (cbrt.f64 x) 3))
(pow.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3) 1/3)
(*.f64 x -1)
(pow.f64 (*.f64 (/.f64 0 0) (sqrt.f64 x)) 2)
(pow.f64 (*.f64 -1 (sqrt.f64 x)) 2)
(sqrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 2)))
(sqrt.f64 (*.f64 -1 (pow.f64 x 2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 0 0)) x))
(log.f64 (pow.f64 -1 x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (/.f64 0 0)))))
(*.f64 x -1)
(cbrt.f64 (pow.f64 (*.f64 x (/.f64 0 0)) 3))
(*.f64 x -1)
(cbrt.f64 (*.f64 (pow.f64 x 3) (/.f64 0 0)))
(*.f64 x -1)
(cbrt.f64 (*.f64 (/.f64 0 0) (pow.f64 x 3)))
(*.f64 x -1)
(expm1.f64 (log1p.f64 (*.f64 x (/.f64 0 0))))
(*.f64 x -1)
(log1p.f64 (expm1.f64 (*.f64 x (/.f64 0 0))))
(*.f64 x -1)
(exp.f64 (log.f64 (*.f64 x (/.f64 0 0))))
(*.f64 x -1)
(exp.f64 (*.f64 (log.f64 (*.f64 x (/.f64 0 0))) 1))
(*.f64 x -1)
(+.f64 0 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
-1
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))))
(*.f64 2 (log.f64 (sqrt.f64 -1)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))) 1)
-1
(*.f64 1/2 (/.f64 (+.f64 x y) y))
(*.f64 (+.f64 x y) (/.f64 0 0))
-1
(*.f64 (/.f64 0 0) (+.f64 x y))
-1
(*.f64 (/.f64 0 0) (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(*.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
-1
(*.f64 1 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(*.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) -1)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 -1 (cbrt.f64 (+.f64 x y))) (pow.f64 (cbrt.f64 (+.f64 x y)) 2))
(*.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (neg.f64 (+.f64 x y)) (/.f64 0 0))
-1
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 1) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 -1 (cbrt.f64 (+.f64 x y))) (pow.f64 (cbrt.f64 (+.f64 x y)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (/.f64 0 0)) (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)))
(*.f64 (*.f64 -1 (cbrt.f64 (+.f64 x y))) (pow.f64 (cbrt.f64 (+.f64 x y)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) 2) (/.f64 (cbrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)))
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(*.f64 (/.f64 (sqrt.f64 (+.f64 x y)) 2) (/.f64 (sqrt.f64 (+.f64 x y)) y))
(*.f64 (/.f64 (+.f64 x y) (*.f64 2 (pow.f64 y 3))) (fma.f64 y y 0))
(*.f64 (/.f64 (/.f64 (+.f64 x y) 2) (pow.f64 y 3)) (fma.f64 y y -1))
(*.f64 (/.f64 (+.f64 x y) 0) 0)
-1
(pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 1)
-1
(pow.f64 (*.f64 (cbrt.f64 (+.f64 x y)) (/.f64 0 0)) 3)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 3) -1)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3) 1/3)
-1
(pow.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (/.f64 0 0)) 2)
(pow.f64 (*.f64 -1 (sqrt.f64 (+.f64 x y))) 2)
(pow.f64 (/.f64 (/.f64 0 0) (+.f64 x y)) -1)
-1
(neg.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))
-1
(sqrt.f64 (*.f64 (pow.f64 (+.f64 x y) 2) (/.f64 0 0)))
(sqrt.f64 (*.f64 -1 (pow.f64 (+.f64 x y) 2)))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0)))
-1
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0)))))
-1
(log.f64 (/.f64 1 (pow.f64 (exp.f64 (+.f64 x y)) (/.f64 0 0))))
-1
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))))
-1
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (/.f64 0 0)) 3))
-1
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) (/.f64 0 0)))
(cbrt.f64 (/.f64 (pow.f64 (+.f64 x y) 3) -1))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
-1
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
-1
(exp.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))))
-1
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 x y) (/.f64 0 0))) 1))
-1

eval20.0ms (0.8%)

Compiler

Compiled 988 to 685 computations (30.7% saved)

prune18.0ms (0.7%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New90393
Fresh000
Picked022
Done000
Total90595
Accuracy
100.0%
Counts
95 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(/.f64 (+.f64 x y) (+.f64 y y))
39.1%
(-.f64 (/.f64 x -1) -1/2)
99.8%
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
52.7%
1/2
2.4%
-1
Compiler

Compiled 31 to 24 computations (22.6% saved)

localize32.0ms (1.2%)

Compiler

Compiled 16 to 13 computations (18.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Operation ival-div, time spent: 5.0ms, 65.0% of total-time
Operation const, time spent: 1.0ms, 13.0% of total-time
Operation ival-sub, time spent: 1.0ms, 13.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune4.0ms (0.1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New000
Fresh000
Picked033
Done022
Total055
Accuracy
100.0%
Counts
5 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(/.f64 (+.f64 x y) (+.f64 y y))
39.1%
(-.f64 (/.f64 x -1) -1/2)
99.8%
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
52.7%
1/2
2.4%
-1
Compiler

Compiled 54 to 40 computations (25.9% saved)

regimes13.0ms (0.5%)

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

3 calls:

5.0ms
x
4.0ms
y
3.0ms
(/.f64 (+.f64 x y) (+.f64 y y))
Results
AccuracySegmentsBranch
99.8%1x
99.8%1y
99.8%1(/.f64 (+.f64 x y) (+.f64 y y))
Compiler

Compiled 15 to 9 computations (40% saved)

regimes8.0ms (0.3%)

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

2 calls:

4.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
52.7%1x
52.7%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes5.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
-1
Outputs
-1
Calls

2 calls:

3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
2.4%1x
2.4%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg
*-commutative
+-commutative
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01327
11727
22127
32327
42427
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
1/2
-1
Outputs
(-.f64 (*.f64 x (/.f64 1/2 y)) -1/2)
1/2
-1
Compiler

Compiled 15 to 13 computations (13.3% saved)

soundness679.0ms (26.2%)

Rules
1962×fma-neg
1326×prod-diff
1002×times-frac
972×div-sub
948×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01782175
14582175
023220
150196
2119196
3340184
41369162
53017151
64389151
75089147
85561147
95865147
106107147
116577147
126783147
136787147
01347
117941
2292541
Stop Event
node limit
saturated
unsound
Compiler

Compiled 449 to 212 computations (52.8% saved)

end0.0ms (0%)

preprocess46.0ms (1.8%)

Compiler

Compiled 58 to 42 computations (27.6% saved)

Profiling

Loading profile data...