Details

Time bar (total: 16.5s)

analyze2.3s (13.8%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
0%0%99.7%0.3%0%0%0%1
0%0%99.7%0.3%0%0%0%2
0%0%99.7%0.3%0%0%0%3
0%0%99.7%0.3%0%0%0%4
0%0%99.7%0.3%0%0%0%5
0%0%99.7%0.3%0%0%0%6
0%0%99.7%0.3%0%0%0%7
0%0%99.7%0.3%0%0%0%8
0%0%99.7%0.3%0%0%0%9
0%0%99.7%0.3%0%0%0%10
0%0%99.7%0.3%0%0%0%11
0%0%99.7%0.3%0%0%0%12
Compiler

Compiled 18 to 12 computations (33.3% saved)

sample7.0s (42.8%)

Results
4.5s8256×body256valid
2.6s4211×body256infinite
Bogosity

preprocess201.0ms (1.2%)

Algorithm
egg-herbie
Rules
102×rational.json-simplify-1
36×rational.json-simplify-41
30×rational.json-simplify-2
swap-a-b
swap-z-t
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063496
1108496
2136496
3153496
066
166
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
4
5
Outputs
0
1
0
2
3
2
4
5
4
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 y x) (*.f64 z t)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 z y) (*.f64 x t)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y z) (*.f64 x t)))
(+.f64 (+.f64 (*.f64 t y) (*.f64 z x)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y t) (*.f64 x z)))
(+.f64 (+.f64 (*.f64 a y) (*.f64 z t)) (*.f64 x b))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y a)) (*.f64 x b))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x b) (*.f64 y a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y a) (*.f64 x b)))
(+.f64 (+.f64 (*.f64 b y) (*.f64 z t)) (*.f64 a x))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y b)) (*.f64 x a))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y b) (*.f64 x a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x a) (*.f64 y b)))
(+.f64 (+.f64 (*.f64 x z) (*.f64 y t)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y t) (*.f64 x z)))
(+.f64 (+.f64 (*.f64 x t) (*.f64 z y)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y z) (*.f64 x t)))
(+.f64 (+.f64 (*.f64 x a) (*.f64 z t)) (*.f64 y b))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y b)) (*.f64 x a))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y b) (*.f64 x a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x a) (*.f64 y b)))
(+.f64 (+.f64 (*.f64 x b) (*.f64 z t)) (*.f64 a y))
(+.f64 (+.f64 (*.f64 z t) (*.f64 y a)) (*.f64 x b))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x b) (*.f64 y a)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 y a) (*.f64 x b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t z)) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a t)) (*.f64 z b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t a)) (*.f64 z b))
(+.f64 (*.f64 t a) (+.f64 (*.f64 x y) (*.f64 z b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 b t)) (*.f64 a z))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t b)) (*.f64 z a))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z a)) (*.f64 t b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t b)) (*.f64 z a))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z b)) (*.f64 a t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 t a)) (*.f64 z b))
(+.f64 (*.f64 t a) (+.f64 (*.f64 x y) (*.f64 z b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 b a))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
Symmetry

(sort x y)

(sort z t)

(sort a b)

Compiler

Compiled 23 to 17 computations (26.1% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-1
rational.json-simplify-2
rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01331
11831
22231
32631
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))

eval0.0ms (0%)

Compiler

Compiled 28 to 13 computations (53.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize773.0ms (4.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 39 to 11 computations (71.8% saved)

series7.0ms (0%)

Counts
2 → 120
Calls

30 calls:

TimeVariablePointExpression
1.0ms
t
@inf
(+.f64 (*.f64 x y) (*.f64 z t))
1.0ms
a
@inf
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0ms
z
@0
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
x
@0
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
a
@0
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))

rewrite222.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
1856×rational.json-simplify-1
1610×rational.json-simplify-35
1510×exponential.json-3
1510×rational.json-1
1510×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01350
18550
216950
336950
474850
5193050
6343450
7460250
8647950
9773850
10776250
11776250
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)))))

simplify1.8s (10.8%)

Algorithm
egg-herbie
Rules
3086×rational.json-simplify-2
2982×rational.json-simplify-51
2738×rational.json-simplify-35
1472×rational.json-simplify-49
1080×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0893640
11963640
25203640
314393640
428573640
535553640
636433640
737083640
837583640
938063640
1038543640
1139023640
1239503640
1339983640
1440463640
1540943640
1641423640
1741903640
1842383640
1950953640
2066073640
2166783640
2266783640
2366783640
2466833640
2567313640
2667793640
2768273640
2868753640
2969233640
3069713640
3170193640
3270673640
3371153640
Stop Event
node limit
Counts
160 → 49
Calls
Call 1
Inputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(-.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
Outputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 y x)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 t z)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 y x) (*.f64 t z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)) 8)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))) 16)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))) 32)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) 64)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4)))))) 128)
(+.f64 (*.f64 y x) (*.f64 t z))
(pow.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 0)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 1 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 1/2)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 1/4)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1/2) 2)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 2) 2)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4) 4)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)) 8)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))) 16)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))) 32)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4))))) 64)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 4)))))) 128)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))
(pow.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) 1)
(+.f64 (*.f64 y x) (+.f64 (*.f64 a b) (*.f64 t z)))

eval8.0ms (0%)

Compiler

Compiled 717 to 242 computations (66.2% saved)

prune10.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New46349
Fresh000
Picked011
Done000
Total46450
Error
0.0b
Counts
50 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
21.7b
(+.f64 (*.f64 y x) (*.f64 a b))
19.4b
(+.f64 (*.f64 t z) (*.f64 a b))
40.7b
(*.f64 a b)
Compiler

Compiled 52 to 36 computations (30.8% saved)

localize4.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 t z) (*.f64 a b))
Compiler

Compiled 23 to 9 computations (60.9% saved)

series1.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
t
@0
(+.f64 (*.f64 t z) (*.f64 a b))
0.0ms
z
@-inf
(+.f64 (*.f64 t z) (*.f64 a b))
0.0ms
t
@-inf
(+.f64 (*.f64 t z) (*.f64 a b))
0.0ms
t
@inf
(+.f64 (*.f64 t z) (*.f64 a b))
0.0ms
z
@inf
(+.f64 (*.f64 t z) (*.f64 a b))

rewrite207.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1826×rational.json-simplify-35
1684×rational.json-simplify-1
1376×exponential.json-3
1376×rational.json-1
1376×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15919
212319
325719
447819
5109719
6265419
7470419
8566519
9686019
10780119
11780119
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 t z) (*.f64 a b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 t z) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)))))

simplify856.0ms (5.2%)

Algorithm
egg-herbie
Rules
5456×rational.json-simplify-51
3522×rational.json-simplify-35
1350×rational.json-simplify-49
1158×rational.json-simplify-2
1142×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0561205
11241205
24271205
311761205
418821205
527401205
632361205
733101205
833581205
933901205
1034221205
1134541205
1234861205
1335181205
1435501205
1535821205
1636141205
1736461205
1836781205
1945771205
2048361205
2149291205
2250181205
2351051205
2451911205
2554041205
2654041205
2754901205
2855761205
2956621205
3057481205
3158341205
3259201205
3360061205
3460921205
3561781205
Stop Event
node limit
Counts
71 → 26
Calls
Call 1
Inputs
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(-.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 0)
(*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)
(*.f64 1 (+.f64 (*.f64 t z) (*.f64 a b)))
(*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))
(/.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)
Outputs
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(-.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 0)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 1 (+.f64 (*.f64 t z) (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 1/2)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 1/4)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 1/8)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/2) 2)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4))
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1/4) 4)
(+.f64 (*.f64 a b) (*.f64 t z))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 2) 2)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 4) 4)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8) 8)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)) 16)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))) 32)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))) 64)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8))))) 128)
(+.f64 (*.f64 a b) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 8)))))) 256)
(+.f64 (*.f64 a b) (*.f64 t z))
(pow.f64 (+.f64 (*.f64 t z) (*.f64 a b)) 1)
(+.f64 (*.f64 a b) (*.f64 t z))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y x) (*.f64 a b))
Compiler

Compiled 23 to 9 computations (60.9% saved)

series1.0ms (0%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(+.f64 (*.f64 y x) (*.f64 a b))
0.0ms
x
@inf
(+.f64 (*.f64 y x) (*.f64 a b))
0.0ms
y
@inf
(+.f64 (*.f64 y x) (*.f64 a b))
0.0ms
y
@-inf
(+.f64 (*.f64 y x) (*.f64 a b))
0.0ms
x
@-inf
(+.f64 (*.f64 y x) (*.f64 a b))

rewrite210.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1826×rational.json-simplify-35
1684×rational.json-simplify-1
1376×exponential.json-3
1376×rational.json-1
1376×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
15919
212319
325719
447819
5109719
6265419
7470419
8566519
9686019
10780119
11780119
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) (*.f64 a b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 y x) (*.f64 a b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)))))

simplify856.0ms (5.2%)

Algorithm
egg-herbie
Rules
5456×rational.json-simplify-51
3522×rational.json-simplify-35
1350×rational.json-simplify-49
1158×rational.json-simplify-2
1142×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0561205
11241205
24271205
311761205
418821205
527401205
632361205
733101205
833581205
933901205
1034221205
1134541205
1234861205
1335181205
1435501205
1535821205
1636141205
1736461205
1836781205
1945771205
2048361205
2149291205
2250181205
2351051205
2451911205
2554041205
2654041205
2754901205
2855761205
2956621205
3057481205
3158341205
3259201205
3360061205
3460921205
3561781205
Stop Event
node limit
Counts
71 → 26
Calls
Call 1
Inputs
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(-.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 0)
(*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 a b)))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 1/2)
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 1/4)
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 1/8)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4) 4)
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))
(/.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))))) 256)
(pow.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)
Outputs
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(+.f64 (*.f64 a b) (*.f64 y x))
(-.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 0)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 1 (+.f64 (*.f64 y x) (*.f64 a b)))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 1/2)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 1/4)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 1/8)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/2) 2)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4))
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1/4) 4)
(+.f64 (*.f64 a b) (*.f64 y x))
(*.f64 1/8 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 2) 2)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 4) 4)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8) 8)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)) 16)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))) 32)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))) 64)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8))))) 128)
(+.f64 (*.f64 a b) (*.f64 y x))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 8)))))) 256)
(+.f64 (*.f64 a b) (*.f64 y x))
(pow.f64 (+.f64 (*.f64 y x) (*.f64 a b)) 1)
(+.f64 (*.f64 a b) (*.f64 y x))

eval8.0ms (0%)

Compiler

Compiled 578 to 237 computations (59% saved)

prune13.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New50252
Fresh000
Picked011
Done033
Total50656
Error
0.0b
Counts
56 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
21.7b
(+.f64 (*.f64 y x) (*.f64 a b))
19.4b
(+.f64 (*.f64 t z) (*.f64 a b))
43.8b
(*.f64 y x)
41.5b
(*.f64 t z)
40.7b
(*.f64 a b)
Compiler

Compiled 70 to 50 computations (28.6% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

localize4.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

eval0.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

prune3.0ms (0%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done055
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
21.7b
(+.f64 (*.f64 y x) (*.f64 a b))
19.4b
(+.f64 (*.f64 t z) (*.f64 a b))
43.8b
(*.f64 y x)
41.5b
(*.f64 t z)
40.7b
(*.f64 a b)
Compiler

Compiled 70 to 50 computations (28.6% saved)

regimes1.0s (6.2%)

Counts
6 → 1
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Calls

11 calls:

770.0ms
z
202.0ms
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
5.0ms
a
5.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
5.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1a
0.0b1b
0.0b1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
0.0b1(*.f64 a b)
Compiler

Compiled 139 to 92 computations (33.8% saved)

regimes154.0ms (0.9%)

Counts
5 → 5
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
Outputs
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 y x) (*.f64 a b))
(+.f64 (*.f64 t z) (*.f64 a b))
Calls

7 calls:

33.0ms
a
23.0ms
(*.f64 a b)
22.0ms
t
21.0ms
z
21.0ms
b
Results
ErrorSegmentsBranch
11.4b3x
12.2b3y
8.5b5z
8.7b5t
13.7b8a
14.4b5b
15.6b5(*.f64 a b)
Compiler

Compiled 80 to 54 computations (32.5% saved)

bsearch43.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
0.0ms
1.540602254683493e-104
1.5873273802361234e-104
15.0ms
-4.271714563109692e-93
-6.14408019845269e-97
11.0ms
-4.9489866768753115e-48
-8.519348270695706e-49
16.0ms
-2.2497366346240505e+50
-2.1403919134783494e+47
Results
37.0ms352×body256valid
1.0ms11×body256infinite
Compiler

Compiled 642 to 459 computations (28.5% saved)

regimes125.0ms (0.8%)

Counts
4 → 5
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 t z) (*.f64 a b))
Outputs
(*.f64 y x)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 y x)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 y x)
Calls

7 calls:

29.0ms
z
23.0ms
x
20.0ms
y
15.0ms
b
14.0ms
(*.f64 a b)
Results
ErrorSegmentsBranch
13.3b5x
14.9b4y
14.2b7z
18.0b3t
17.7b3a
17.2b3b
16.9b3(*.f64 a b)
Compiler

Compiled 73 to 53 computations (27.4% saved)

bsearch59.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
9.881478079312102e-94
7.156637911933004e-93
15.0ms
-2.256824450443143e+79
-4.3511721830603996e+77
16.0ms
-1.0542151996332628e+112
-5.632484161569761e+109
16.0ms
-5.190521675014361e+143
-5.045532682358022e+141
Results
50.0ms432×body256valid
4.0ms38×body256infinite
Compiler

Compiled 674 to 505 computations (25.1% saved)

regimes208.0ms (1.3%)

Counts
3 → 11
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 y x)
Outputs
(*.f64 t z)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 y x)
(*.f64 a b)
(*.f64 t z)
Calls

7 calls:

40.0ms
z
33.0ms
(*.f64 a b)
32.0ms
a
30.0ms
y
29.0ms
x
Results
ErrorSegmentsBranch
28.5b8x
28.2b8y
23.4b11z
28.0b6t
27.1b8a
29.4b5b
23.6b10(*.f64 a b)
Compiler

Compiled 66 to 52 computations (21.2% saved)

bsearch164.0ms (1%)

Algorithm
10×binary-search
Steps
TimeLeftRight
11.0ms
1.4231474200328664e-98
1.05751197324545e-97
19.0ms
7.015633400012796e-207
6.813485665450702e-190
18.0ms
1.0904116236475455e-298
1.6000560080963753e-292
22.0ms
-1.879496843862151e-266
-4.8823570767496547e-287
14.0ms
-5.6584341502135746e-254
-2.425268817086224e-256
12.0ms
-2.4228242980520465e-211
-3.800307457912788e-212
18.0ms
-1.636489839335843e-159
-2.954836459504426e-166
18.0ms
-1833595500.6761835
-88130104.18241411
12.0ms
-3.021133101932317e+29
-5.487999806523793e+28
21.0ms
-2.1394793201422396e+119
-4.5139981066399615e+112
Results
147.0ms1280×body256valid
2.0ms21×body256infinite
Compiler

Compiled 1626 to 1299 computations (20.1% saved)

regimes87.0ms (0.5%)

Accuracy

Total -33.4b remaining (-116%)

Threshold costs -33.4b (-116%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
Outputs
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
Calls

7 calls:

17.0ms
y
17.0ms
x
12.0ms
b
12.0ms
(*.f64 a b)
11.0ms
t
Results
ErrorSegmentsBranch
35.1b6x
34.8b6y
29.9b3z
31.3b3t
31.1b3a
33.3b3b
28.8b3(*.f64 a b)
Compiler

Compiled 63 to 51 computations (19% saved)

bsearch31.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
4.651102453278589e-34
2.6007814514741497e-27
15.0ms
-1.7083961089523791e+44
-8.480036501272722e+39
Results
28.0ms272×body256valid
Compiler

Compiled 332 to 274 computations (17.5% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
080482
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(if (<=.f64 z -245000000000000014798713466774002436674791931904) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z -1933467854852417/411376139330301510538742295639337626245683966408394965837152256) (+.f64 (*.f64 y x) (*.f64 a b)) (if (<=.f64 z -4659508484223285/300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676928) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z 5003109138793385/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 y x) (*.f64 a b)) (+.f64 (*.f64 t z) (*.f64 a b))))))
(if (<=.f64 x -250000000000000005936358089662776339352164481957170546868366247167559357385505143142044407054020823532336492283460029018948353292472520393359360) (*.f64 y x) (if (<=.f64 x -7999999999999999654558181133134526067240835818067026254363169724983060860968891905231543447579458576357991120896) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 x -11999999999999999279171178543673414636301847816509874899372056415643631196569600) (*.f64 y x) (if (<=.f64 x 32108980623861/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 y x)))))
(if (<=.f64 z -1100000000000000069609375137205813511635074987436080345182813979911015633499725827430355909691574349808143157507915776) (*.f64 t z) (if (<=.f64 z -269999999999999999739349172224) (*.f64 a b) (if (<=.f64 z -1100000000) (*.f64 y x) (if (<=.f64 z -272063441620415/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 a b) (if (<=.f64 z -1847784594718251/47379092172262845921294540053176957863064148471578876072358765808900480733837185251796826441303908628860099203403658239934435426150964794660775368501012608007948455078761288621529091968737745508583465551566054344204493617364992) (*.f64 y x) (if (<=.f64 z -4057301999121909/8452712498170643941637436558664265704301557216577944354047371344426782440907597751590676094202515006314790319892114058862117560952042968596008623655407033230534186943984081346699704282822823056848387726531379014466368452684024987821414350380272583623832617294363807973376) (*.f64 a b) (if (<=.f64 z -1767989201857341/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (*.f64 y x) (if (<=.f64 z 5982722752821787/92041888504950574475740425768398066361240421321846096523996201552759130012416493123946740389072658442813498306494153399121300361632981310716337884487410751681417161433531128461466736435838000189159978471467522953645133149359340995314643512596903545427635461470508184698852989920501614748075702440767602758254592) (*.f64 a b) (if (<=.f64 z 5365626521545613/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 y x) (if (<=.f64 z 7849618421937963/76957043352332967211482500195592995713046365762627825523336510555167425334955489475418488779072100860950445293568) (*.f64 a b) (*.f64 t z)))))))))))
(if (<=.f64 (*.f64 a b) -10999999999999999487916557539463611285504) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5663318844657249/365375409332725729550921208179070754913983135744) (*.f64 t z) (*.f64 a b)))
(*.f64 a b)
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(if (<=.f64 z -245000000000000014798713466774002436674791931904) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z -1933467854852417/411376139330301510538742295639337626245683966408394965837152256) (+.f64 (*.f64 y x) (*.f64 a b)) (if (<=.f64 z -4659508484223285/300613450595050653169853516389035139504087366260264943450533244356122755214669880763353471793250393988087676928) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 z 5003109138793385/322781234760863573706989896500376484291213224103652939103832419567580952752105149328705669160017228929487896496593436672) (+.f64 (*.f64 y x) (*.f64 a b)) (+.f64 (*.f64 t z) (*.f64 a b))))))
(if (<=.f64 x -250000000000000005936358089662776339352164481957170546868366247167559357385505143142044407054020823532336492283460029018948353292472520393359360) (*.f64 y x) (if (<=.f64 x -7999999999999999654558181133134526067240835818067026254363169724983060860968891905231543447579458576357991120896) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 x -11999999999999999279171178543673414636301847816509874899372056415643631196569600) (*.f64 y x) (if (<=.f64 x 32108980623861/4586997231980143023221641790604173881593129978336562247475177678773845752176969616140037106220251373109248) (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 y x)))))
(if (<=.f64 z -1100000000000000069609375137205813511635074987436080345182813979911015633499725827430355909691574349808143157507915776) (*.f64 t z) (if (<=.f64 z -269999999999999999739349172224) (*.f64 a b) (if (<=.f64 z -1100000000) (*.f64 y x) (if (<=.f64 z -272063441620415/247330401473104534060502521019647190035131349101211839914063056092897225106531867170316401061243044989597671426016139339351365034306751209967546155101893167916606772148699136) (*.f64 a b) (if (<=.f64 z -1847784594718251/47379092172262845921294540053176957863064148471578876072358765808900480733837185251796826441303908628860099203403658239934435426150964794660775368501012608007948455078761288621529091968737745508583465551566054344204493617364992) (*.f64 y x) (if (<=.f64 z -4057301999121909/8452712498170643941637436558664265704301557216577944354047371344426782440907597751590676094202515006314790319892114058862117560952042968596008623655407033230534186943984081346699704282822823056848387726531379014466368452684024987821414350380272583623832617294363807973376) (*.f64 a b) (if (<=.f64 z -1767989201857341/1339385758982834151185531311325002263201756014631917009304687985462938813906170153116497973519619822659493341146941433531483931607115392554498072196837321850491820971853028873177634325632796392734744272769130809372947742658424845944895692993259632864321399559710817770957553728956578048354650708508672) (*.f64 y x) (if (<=.f64 z 5982722752821787/92041888504950574475740425768398066361240421321846096523996201552759130012416493123946740389072658442813498306494153399121300361632981310716337884487410751681417161433531128461466736435838000189159978471467522953645133149359340995314643512596903545427635461470508184698852989920501614748075702440767602758254592) (*.f64 a b) (if (<=.f64 z 5365626521545613/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734912) (*.f64 y x) (if (<=.f64 z 7849618421937963/76957043352332967211482500195592995713046365762627825523336510555167425334955489475418488779072100860950445293568) (*.f64 a b) (*.f64 t z)))))))))))
(if (<=.f64 (*.f64 a b) -10999999999999999487916557539463611285504) (*.f64 a b) (if (<=.f64 (*.f64 a b) 5663318844657249/365375409332725729550921208179070754913983135744) (*.f64 t z) (*.f64 a b)))
(*.f64 a b)
Compiler

Compiled 234 to 116 computations (50.4% saved)

soundness0.0ms (0%)

end62.0ms (0.4%)

Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 306 to 141 computations (53.9% saved)

Profiling

Loading profile data...